(function($) { $(document).ready(function() { $("pre").addClass("prettyprint"); prettyPrint(); // 隐藏禁用javascript(针对微信内置浏览器)的提示 $('.noscript').hide(); // 图片缩放效果 var $imgs = $('img').not('.avatar-image,.carousel-image,.card-cover-image,.qrcode'); // 给图片加上点击放大效果(materialbox插件) $imgs.addClass('materialboxed').each(function(i, el) { $(this).attr('data-caption', $(this).attr('alt') || ' '); }).materialbox(); // 优化表格的显示 $('table').each(function() { var $table = $(this); // 除去多行代码的情况 if ($table.find('pre').length == 0) { $table.addClass('responsive-table striped bordered'); } }); $(".button-collapse").sideNav(); $(".category-menu").sideNav(); $(".tag-menu").sideNav(); // 针对gallery post $('.carousel').carousel({full_width: true}); $('.carousel-control.prev').click(function() { $('.carousel').carousel('prev'); }); $('.carousel-control.next').click(function() { $('.carousel').carousel('next'); }); // 文章目录 $('article').not('.simple-article').find('h1').add('h2').add('h3').add('h4').add('h5').add('h6').scrollSpy(); // 目录随屏幕滚动(防止目录过长越过footer) var $toc = $('.toc'); var scrollTargetTop = 0; $(window).scroll(function() { var $activeLink = $toc.find('a.active.section'); if ($(window).scrollTop() < 100) { scrollTargetTop = 0; } else { if ($activeLink[0]) { scrollTargetTop = $activeLink.offset().top - $toc.offset().top; } } $toc.css('top', '-' + scrollTargetTop + 'px'); }); // 修正文章目录的left-border颜色 var color = $('.table-of-contents-text').css('color'); $('.table-of-contents-link').css('border-left-color', color); // 针对移动端做的优化:FAB按钮点击一下收回 if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { $('.fixed-action-btn').addClass('click-to-toggle'); } // 回到顶部 $('.btn-return-top').click(function() { $('body, html').animate({ scrollTop: 0 }, 500); }); // 搜索功能 $('.modal-trigger').leanModal({ // 打开搜索框时自动聚焦 ready: function() { if ($('#search').is(":visible")) { $('#search-input').focus(); } } }); initSearch('/search.xml', 'search-input', 'search-result'); }); // 初始化搜索与匹配函数 var initSearch = function(path, search_id, content_id) { 'use strict'; $.ajax({ url: path, dataType: "xml", success: function(xmlResponse) { // get the contents from search data var datas = $("entry", xmlResponse).map(function() { return { title: $("title", this).text(), content: $("content", this).text(), url: $("url", this).text() }; }).get(); var $input = document.getElementById(search_id); var $resultContent = document.getElementById(content_id); $input.addEventListener('input', function() { var str = '"; $resultContent.innerHTML = str; }); } }); } })(jQuery);