github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/public/js/wind.js (about) 1 /* https://github.com/balupton/jquery-scrollto */(function(name,context,definition){if(typeof module!="undefined"&&module.exports){module.exports=definition()}else{if(typeof define=="function"&&define.amd){define(definition)}else{context[name]=definition()}}})("jquery-scrollto",this,function(){var jQuery,$,ScrollTo;jQuery=$=window.jQuery||require("jquery");$.propHooks.scrollTop=$.propHooks.scrollLeft={get:function(elem,prop){var result=null;if(elem.tagName==="HTML"||elem.tagName==="BODY"){if(prop==="scrollLeft"){result=window.scrollX}else{if(prop==="scrollTop"){result=window.scrollY}}}if(result==null){result=elem[prop]}return result}};$.Tween.propHooks.scrollTop=$.Tween.propHooks.scrollLeft={get:function(tween){return $.propHooks.scrollTop.get(tween.elem,tween.prop)},set:function(tween){if(tween.elem.tagName==="HTML"||tween.elem.tagName==="BODY"){tween.options.bodyScrollLeft=(tween.options.bodyScrollLeft||window.scrollX);tween.options.bodyScrollTop=(tween.options.bodyScrollTop||window.scrollY);if(tween.prop==="scrollLeft"){tween.options.bodyScrollLeft=Math.round(tween.now)}else{if(tween.prop==="scrollTop"){tween.options.bodyScrollTop=Math.round(tween.now)}}window.scrollTo(tween.options.bodyScrollLeft,tween.options.bodyScrollTop)}else{if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now}}}};ScrollTo={config:{duration:400,easing:"swing",callback:undefined,durationMode:"each",offsetTop:0,offsetLeft:0},configure:function(options){$.extend(ScrollTo.config,options||{});return this},scroll:function(collections,config){var collection,$container,container,$target,$inline,position,containerTagName,containerScrollTop,containerScrollLeft,containerScrollTopEnd,containerScrollLeftEnd,startOffsetTop,targetOffsetTop,targetOffsetTopAdjusted,startOffsetLeft,targetOffsetLeft,targetOffsetLeftAdjusted,scrollOptions,callback;collection=collections.pop();$container=collection.$container;$target=collection.$target;containerTagName=$container.prop("tagName");$inline=$("<span/>").css({"position":"absolute","top":"0px","left":"0px"});position=$container.css("position");$container.css({position:"relative"});$inline.appendTo($container);startOffsetTop=$inline.offset().top;targetOffsetTop=$target.offset().top;targetOffsetTopAdjusted=targetOffsetTop-startOffsetTop-parseInt(config.offsetTop,10);startOffsetLeft=$inline.offset().left;targetOffsetLeft=$target.offset().left;targetOffsetLeftAdjusted=targetOffsetLeft-startOffsetLeft-parseInt(config.offsetLeft,10);containerScrollTop=$container.prop("scrollTop");containerScrollLeft=$container.prop("scrollLeft");$inline.remove();$container.css({position:position});scrollOptions={};callback=function(event){if(collections.length===0){if(typeof config.callback==="function"){config.callback()}}else{ScrollTo.scroll(collections,config)}return true};if(config.onlyIfOutside){containerScrollTopEnd=containerScrollTop+$container.height();containerScrollLeftEnd=containerScrollLeft+$container.width();if(containerScrollTop<targetOffsetTopAdjusted&&targetOffsetTopAdjusted<containerScrollTopEnd){targetOffsetTopAdjusted=containerScrollTop}if(containerScrollLeft<targetOffsetLeftAdjusted&&targetOffsetLeftAdjusted<containerScrollLeftEnd){targetOffsetLeftAdjusted=containerScrollLeft}}if(targetOffsetTopAdjusted!==containerScrollTop){scrollOptions.scrollTop=targetOffsetTopAdjusted}if(targetOffsetLeftAdjusted!==containerScrollLeft){scrollOptions.scrollLeft=targetOffsetLeftAdjusted}if($container.prop("scrollHeight")===$container.width()){delete scrollOptions.scrollTop}if($container.prop("scrollWidth")===$container.width()){delete scrollOptions.scrollLeft}if(scrollOptions.scrollTop!=null||scrollOptions.scrollLeft!=null){$container.animate(scrollOptions,{duration:config.duration,easing:config.easing,complete:callback})}else{callback()}return true},fn:function(options){var collections,config,$container,container;collections=[];var $target=$(this);if($target.length===0){return this}config=$.extend({},ScrollTo.config,options);$container=$target.parent();container=$container.get(0);while(($container.length===1)&&(container!==document.body)&&(container!==document)){var containerScrollTop,containerScrollLeft;containerScrollTop=$container.css("overflow-y")!=="visible"&&container.scrollHeight!==container.clientHeight;containerScrollLeft=$container.css("overflow-x")!=="visible"&&container.scrollWidth!==container.clientWidth;if(containerScrollTop||containerScrollLeft){collections.push({"$container":$container,"$target":$target});$target=$container}$container=$container.parent();container=$container.get(0)}collections.push({"$container":$("html"),"$target":$target});if(config.durationMode==="all"){config.duration/=collections.length}ScrollTo.scroll(collections,config);return this}};$.ScrollTo=$.ScrollTo||ScrollTo;$.fn.ScrollTo=$.fn.ScrollTo||ScrollTo.fn;return ScrollTo}); 2 ;(function($) { 3 // Avoid embed thie site in an iframe of other WebSite 4 if (top.location != location) { 5 top.location.href = location.href; 6 } 7 8 (function(){ 9 // extend jQuery ajax, set xsrf token value 10 var ajax = $.ajax; 11 $.extend({ 12 ajax: function(url, options) { 13 if (typeof url === 'object') { 14 options = url; 15 url = undefined; 16 } 17 options = options || {}; 18 url = options.url; 19 var xsrftoken = $('meta[name=_xsrf]').attr('content'); 20 var headers = options.headers || {}; 21 var domain = document.domain.replace(/\./ig, '\\.'); 22 if (!/^(http:|https:).*/.test(url) || eval('/^(http:|https:)\\/\\/(.+\\.)*' + domain + '.*/').test(url)) { 23 headers = $.extend(headers, {'X-Xsrftoken':xsrftoken}); 24 } 25 options.headers = headers; 26 var callback = options.success; 27 options.success = function(data){ 28 if(callback){ 29 callback.apply(this, arguments); 30 } 31 }; 32 return ajax(url, options); 33 } 34 }); 35 36 $(document).ready( 37 function() { 38 $(document).scroll(function() { 39 if ($(this).scrollTop() > 720) { 40 $('#backtop').removeClass('hidden'); 41 } else { 42 $('#backtop').addClass('hidden'); 43 } 44 }); 45 $('#backtop').click(function() { 46 $('body, html').animate({ 47 scrollTop: 0 48 }); 49 return false; 50 }) 51 window.console && window.console.info('Copyright 2014~2016 YouGam.com'); 52 } 53 ); 54 })(); 55 56 $(function() { 57 $(document).on("click", "[rel=comment-reply]", function() { 58 var $e = $(this).parents(".comment:first"), 59 user = $e.data("user"), 60 floor = $e.data("floor"), 61 content = $(".reply-body-" + floor).html(), 62 v = "<blockquote>" + content + "</blockquote>" + "<p>#" + floor + " @" + user + ",</p>"; 63 $("#post-reply").ScrollTo(); 64 tinyMCE.activeEditor.setContent(v + tinyMCE.activeEditor.getContent()) 65 }) 66 var $comments = $('.post-comments'); 67 68 $(window).on('hashchange', function() { 69 if (/#reply\d+/.test(window.location.hash)) { 70 $comments.find('.comment').removeClass('highlight'); 71 var $e = $(window.location.hash); 72 $e.addClass('highlight'); 73 } 74 }); 75 $(window).trigger('hashchange'); 76 77 $(document).on("click", "[rel=quick-reply]", function() { 78 var $e = $(this), 79 target = $e.data("target"), 80 user = $e.data("user"), 81 v = "@" + user + ",", 82 tar = $("#"+target); 83 tar.ScrollTo(); 84 tar.removeClass("hide"); 85 var c =$("input[name='comment']"); 86 c.val(v); 87 }) 88 }); 89 })(jQuery); 90 91 //读取cookies 92 function getCookie(name) { 93 var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); 94 if (arr = document.cookie.match(reg)) 95 return unescape(arr[2]); 96 else 97 return null; 98 }; 99 100 function showholder(id) { 101 var s = document.getElementById(id); 102 if ((s.value == -1) || (s.value == -2) || (s.value == -3)){ 103 document.getElementById("excerptor").style.display = "block"; 104 } else { 105 document.getElementById("excerptor").style.display = "none"; 106 }; 107 }; 108 109 function jsDateDiff(publishTime) { 110 var d_minutes, d_hours, d_days; 111 var timeNow = parseInt(new Date().getTime() / 1000); 112 var d; 113 d = timeNow - publishTime; 114 d_days = parseInt(d / 86400); 115 d_hours = parseInt(d / 3600); 116 d_minutes = parseInt(d / 60); 117 118 if (d_days > 0 && d_days < 4) { 119 return d_days + " 天之前"; 120 } else if (d_days <= 0 && d_hours > 0) { 121 return d_hours + " 小时之前"; 122 } else if (d_hours <= 0 && d_minutes > 0) { 123 return d_minutes + " 分钟之前"; 124 } else { 125 var s = new Date(publishTime * 1000); 126 // s.getFullYear()+"年"; 127 return (s.getMonth() + 1) + "月" + s.getDate() + "日"; 128 } 129 }; 130 131 function getUnixTime(dateStr) { 132 var newstr = dateStr.replace(/-/g, '/'); 133 var date = new Date(newstr); 134 var time_str = date.getTime().toString(); 135 return time_str.substr(0, 10); 136 };