$(function () {
window.isMobile = !!("ontouchstart" in window);
function AddFavorite(sURL, sTitle) {
if (/firefox/i.test(navigator.userAgent)) {
return false;
} else if (window.external && window.external.addFavorite) {
window.external.addFavorite(sURL, sTitle);
return true;
} else if (window.sidebar && window.sidebar.addPanel) {
window.sidebar.addPanel(sTitle, sURL, "");
return true;
} else {
var touch = (navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 'Command' : 'CTRL');
layer.msg('璇蜂娇鐢 ' + touch + ' + D 娣诲姞鍒版敹钘忓す.');
return false;
}
}
var len = function (str) {
if (!str)
return 0;
var length = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) >= 0x4e00 && str.charCodeAt(i) <= 0x9fa5) {
length += 2;
} else {
length++;
}
}
return length;
};
//new LazyLoad({elements_selector: ".lazy"});
//鏍忕洰楂樹寒
var nav = $("header.header .navbar-nav");
if ($("li.active", nav).size() === 0) {
var current = nav.data("current");
var currentNav = $("a[href='" + location.href + "']", nav)[0] || $("a[href='" + location.pathname + "']", nav)[0] || $("li[value='" + current + "'] > a", nav)[0];
currentNav && $(currentNav, nav).parents("li").addClass("active");
}
//绉诲姩绔彍鍗曠偣鍑
$(document).on("click", ".navbar-collapse.collapse.in .navbar-nav .dropdown-submenu > a", function () {
$(this).parents("li.dropdown").addClass("open");
return false;
});
//绉诲姩娴忚鍣ㄥ乏鍙虫粦鍔
$(document).on('touchstart', '.carousel', function (event) {
const xClick = event.originalEvent.touches[0].pageX;
$(this).one('touchmove', function (event) {
const xMove = event.originalEvent.touches[0].pageX;
const sensitivityInPx = 5;
if (Math.floor(xClick - xMove) > sensitivityInPx) {
$(this).carousel('next');
} else if (Math.floor(xClick - xMove) < -sensitivityInPx) {
$(this).carousel('prev');
}
});
$(this).on('touchend', function () {
$(this).off('touchmove');
});
});
// 鐐瑰嚮鏀惰棌
$(".addbookbark").attr("rel", "sidebar").click(function () {
//浣跨敤鏁版嵁搴撴敹钘
CMS.api.ajax({
url: $(this).data("action"),
data: {type: $(this).data("type"), aid: $(this).data("aid")}
});
//浣跨敤娴忚鍣ㄦ敹钘
//return !AddFavorite(window.location.href, $(this).attr("title"));
});
// 鐐硅禐
$(document).on("click", ".btn-like", function () {
var that = this;
var id = $(this).data("id");
var type = $(this).data("type");
if (CMS.api.storage(type + "vote." + id)) {
layer.msg("浣犲凡缁忕偣杩囪禐浜?);
return false;
}
CMS.api.ajax({
data: $(this).data()
}, function (data, ret) {
$("span", that).text(type === 'like' ? ret.data.likes : ret.data.dislikes);
CMS.api.storage(type + "vote." + id, true);
return false;
}, function () {
return false;
});
});
// 鍔犺浇鏇村
$(document).on("click", ".btn-loadmore", function () {
var that = this;
var page = parseInt($(this).data("page"));
var container = $(this).data("container");
container = container ? $(container) : $(".article-list,.product-list");
var loadmoreText = $(this).text();
$(that).text("姝e湪鍔犺浇").prop("disabled", true);
CMS.api.ajax({
url: $(that).attr("href"),
}, function (data, ret) {
if (data) {
$(data).appendTo(container);
page++;
$(that).attr("href", $(that).data("url").replace("__page__", page)).data("page", page);
$(that).text(loadmoreText).prop("disabled", false);
} else {
$(that).replaceWith('
鏆傛棤鏇村鏁版嵁
');
}
return false;
}, function (data) {
$(that).text(loadmoreText).prop("disabled", false);
});
return false;
});
//婊氬姩鍔犺浇鏇村
$(window).scroll(function () {
var loadmore = $(".btn-loadmore");
if (loadmore.size() > 0 && !loadmore.prop("disabled") && (loadmore.data("autoload") === undefined || loadmore.data("autoload"))) {
if ($(window).scrollTop() - loadmore.height() > loadmore.offset().top - $(window).height()) {
loadmore.trigger("click");
}
}
});
setTimeout(function () {
if ($(window).scrollTop() > 0) {
$(window).trigger("scroll");
}
}, 500);
//璇勮鍒楄〃
if ($("#comment-container").size() > 0) {
var ci, si;
$("#commentlist dl dd div,#commentlist dl dd dl dd").on({
mouseenter: function () {
clearTimeout(ci);
var _this = this;
ci = setTimeout(function () {
$(_this).find("small:first").find("a").stop(true, true).fadeIn();
}, 100);
},
mouseleave: function () {
clearTimeout(ci);
$(this).find("small:first").find("a").stop(true, true).fadeOut();
}
});
$(".reply").on("click", function () {
$("#pid").val($(this).data("id"));
$(this).parent().parent().append($("div#postcomment").detach());
$("#postcomment h3 a").show();
$("#commentcontent").focus().val($(this).attr("title"));
});
$("#postcomment h3 a").bind("click", function () {
$("#comment-container").append($("div#postcomment").detach());
$(this).hide();
});
$(".expandall a").on("click", function () {
$(this).parent().parent().find("dl.hide").fadeIn();
$(this).fadeOut();
});
$(document).on("click", "#submit", function () {
var btn = $(this);
var tips = $("#actiontips");
tips.removeClass();
var content = $("#commentcontent").val();
if (len(content) < 3) {
tips.addClass("text-danger").html("璇勮鍐呭闀垮害涓嶆纭紒鏈€灏?涓瓧绗?).fadeIn().change();
return false;
}
var form = $("#postform");
btn.attr("disabled", "disabled");
tips.html('姝e湪鎻愪氦...');
$.ajax({
url: form.prop("action"),
type: 'POST',
data: form.serialize(),
dataType: 'json',
success: function (json) {
btn.removeAttr("disabled");
if (json.code == 1) {
$("#pid").val(0);
tips.addClass("text-success").html(json.msg || "璇勮鎴愬姛锛?).fadeIn(300).change();
$("#commentcontent").val('');
$("#commentcount").text(parseInt($("#commentcount").text()) + 1);
setTimeout(function () {
location.reload();
}, 1000);
} else {
tips.addClass("text-danger").html(json.msg).fadeIn().change();
}
if (json.data && json.data.token) {
$("#postform input[name='__token__']").val(json.data.token);
}
},
error: function () {
btn.removeAttr("disabled");
tips.addClass("text-danger").html("璇勮澶辫触锛佽鍒锋柊椤甸潰閲嶈瘯锛?).fadeIn();
}
});
return false;
});
$("#commentcontent").on("keydown", function (e) {
if ((e.metaKey || e.ctrlKey) && (e.keyCode == 13 || e.keyCode == 10)) {
$("#submit").trigger('click');
}
});
$("#actiontips").on("change", function () {
clearTimeout(si);
si = setTimeout(function () {
$("#actiontips").fadeOut();
}, 8000);
});
$(document).on("keyup change", "#commentcontent", function () {
var max = 1000;
var c = $(this).val();
var length = len(c);
var t = $("#actiontips");
if (max >= length) {
t.removeClass().show().addClass("loading").html("浣犺繕鍙互杈撳叆 " + (Math.floor((max - length) / 2)) + " 瀛?);
$("#submit").removeAttr("disabled");
} else {
t.removeClass().show().addClass("loading").html("浣犲凡缁忚秴鍑 " + (Math.ceil((length - max) / 2)) + " 瀛?);
$("#submit").attr("disabled", "disabled");
}
});
}
// 浣欓鏀粯鎻愮ず
$(document).on('click', '.btn-balance', function (e) {
var that = this;
layer.confirm("纭鏀粯锟? + $(this).data("price") + "鍏冪敤浜庤喘涔帮紵", function () {
CMS.api.ajax({
url: $(that).attr("href")
}, function (data, ret) {
CMS.api.msg(ret.msg, ret.url);
}, function (data, ret) {
});
});
return false;
});
// 鍥炲埌椤堕儴
$('#back-to-top').on('click', function (e) {
e.preventDefault();
$('html,body').animate({
scrollTop: 0
}, 700);
});
//濡傛灉鏄疨C鍒欑Щ闄avbar鐨刣ropdown鐐瑰嚮浜嬩欢
if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobi/i.test(navigator.userAgent)) {
$("#navbar-collapse [data-toggle='dropdown']").removeAttr("data-toggle");
} else {
$(".navbar-nav ul li:not(.dropdown-submenu):not(.dropdown) a").removeAttr("data-toggle");
}
if (!isMobile) {
var search = $("#searchinput");
var form = search.closest("form");
search.autoComplete({
minChars: 1,
cache: false,
menuClass: 'autocomplete-searchmenu',
header: '',
footer: '',
source: function (term, response) {
try {
xhr.abort();
} catch (e) {
}
xhr = $.getJSON(search.data("suggestion-url"), {q: term}, function (data) {
response(data);
});
},
onSelect: function (e, term, item) {
if (typeof callback === 'function') {
callback.call(elem, term, item);
} else {
form.trigger("submit");
}
}
});
}
// 鎵嬫満绔乏鍙虫粦鍔ㄥ垏鎹㈣彍鍗曟爮
if (isMobile && 'ontouchstart' in document.documentElement) {
var startX, startY, moveEndX, moveEndY, relativeX, relativeY, element;
element = $('#navbar-collapse');
$("body").on("touchstart", function (e) {
startX = e.originalEvent.changedTouches[0].pageX;
startY = e.originalEvent.changedTouches[0].pageY;
});
$("body").on("touchend", function (e) {
moveEndX = e.originalEvent.changedTouches[0].pageX;
moveEndY = e.originalEvent.changedTouches[0].pageY;
relativeX = moveEndX - startX;
relativeY = moveEndY - startY;
//鍙虫粦
if (relativeX > 45) {
if ((Math.abs(relativeX) - Math.abs(relativeY)) > 50 && !element.hasClass("active") && startX < ($(window).width() / 4)) {
$(".sidebar-toggle").trigger("click");
}
}
//宸︽粦
else if (relativeX < -45) {
if ((Math.abs(relativeX) - Math.abs(relativeY)) > 50 && element.hasClass("active")) {
$(".sidebar-toggle").trigger("click");
}
}
});
}
// 鎵撹祻
$(".btn-donate").popover({
trigger: 'hover',
placement: 'top',
html: true,
content: function () {
return "";
}
});
$(document).on("click", ".btn-paynow", function () {
var paytype = $(this).data("paytype");
var price = $(this).data("price");
var nameArr = {wechat: "寰俊", alipay: "鏀粯瀹?, balance: "浣欓"};
var that = this;
var tips = function () {
layer.confirm("璇锋牴鎹敮浠樼姸鎬侀€夋嫨涓嬮潰鐨勬搷浣滄寜閽?, {title: "娓╅Θ鎻愮ず", icon: 0, btn: ["鏀粯鎴愬姛", "鏀粯澶辫触"]}, function () {
location.reload();
});
};
if (paytype) {
layer.confirm("纭浣跨敤" + (typeof nameArr[paytype] !== 'undefined' ? nameArr[paytype] : "鏈煡") + "杩涜鏀粯?
鏀粯閲戦锛氾骏" + price + "鍏?, {title: "娓╅Θ鎻愮ず", icon: 3, focusBtn: false, btn: ["绔嬪嵆鏀粯", "鍙栨秷鏀粯"]}, function (index, layero) {
$(".layui-layer-btn0", layero).attr("href", $(that).attr("href")).attr("target", "_blank");
tips();
});
return false;
} else {
tips();
}
});
//鐐瑰嚮鍒囨崲
$(document).on("click", ".sidebar-toggle", function () {
var collapse = $("#navbar-collapse");
if (collapse.hasClass("active")) {
$(".navbar-collapse-bg").remove();
} else {
$("").addClass("navbar-collapse-bg").insertAfter(collapse).on("click", function () {
$(".sidebar-toggle").trigger("click");
});
}
collapse.toggleClass("active");
$(this).toggleClass("active");
});
//鍐呭涓殑鍥剧墖鐐瑰嚮浜嬩欢
$(document).on("click", ".article-text img", function () {
if ($(this).closest("a").length > 0) {
return;
}
var that = this;
var data = [];
var index = 0;
$(".article-text img").each(function (i, j) {
if (that == this) {
index = i;
}
data.push({
"src": $(this).attr("src") //鍘熷浘鍦板潃
});
});
layer.photos({
photos: {
"start": index, "data": data
},
// scrollbar: true,
// full: true,
// closeBtn: 1
});
return false;
});
//鍒嗕韩鍙傛暟閰嶇疆
var shareConfig = {
title: $("meta[property='og:title']").attr("content") || document.title,
description: $("meta[property='og:description']").attr("content") || "",
url: $("meta[property='og:url']").attr("content") || location.href,
image: $("meta[property='og:image']").attr("content") || ""
};
//寰俊鍏紬鍙峰唴鍒嗕韩
if (typeof wx != 'undefined') {
shareConfig.url = location.href;
CMS.api.ajax({
url: "/addons/cms/ajax/share",
data: {url: shareConfig.url},
loading: false
}, function (data, ret) {
try {
wx.config({
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: [
"onMenuShareTimeline", //鍒嗕韩缁欏ソ鍙
"onMenuShareAppMessage", //鍒嗕韩鍒版湅鍙嬪湀
"onMenuShareQQ", //鍒嗕韩鍒癚Q
"onMenuShareWeibo" //鍒嗕韩鍒板井鍗
]
});
var shareData = {
title: shareConfig.title,
desc: shareConfig.description,
link: shareConfig.url,
imgUrl: shareConfig.image,
success: function () {
layer.closeAll();
},
cancel: function () {
layer.closeAll();
}
};
wx.ready(function () {
wx.onMenuShareTimeline(shareData);
wx.onMenuShareAppMessage(shareData);
wx.onMenuShareQQ(shareData);
wx.onMenuShareWeibo(shareData);
});
} catch (e) {
}
return false;
}, function () {
return false;
}
);
$(".social-share").on("click", ".icon-wechat", function () {
layer.msg("璇风偣鍑诲彸涓婅鐨勨棌鈼忊棌杩涜鍒嗕韩");
return false;
}).find(".wechat-qrcode").remove();
}
});