第三次作业题目和答案(未公布)
This commit is contained in:
commit
b01ba87404
102 changed files with 8693 additions and 0 deletions
137
themes/landscape/source/js/script.js
Normal file
137
themes/landscape/source/js/script.js
Normal file
|
@ -0,0 +1,137 @@
|
|||
(function($){
|
||||
// Search
|
||||
var $searchWrap = $('#search-form-wrap'),
|
||||
isSearchAnim = false,
|
||||
searchAnimDuration = 200;
|
||||
|
||||
var startSearchAnim = function(){
|
||||
isSearchAnim = true;
|
||||
};
|
||||
|
||||
var stopSearchAnim = function(callback){
|
||||
setTimeout(function(){
|
||||
isSearchAnim = false;
|
||||
callback && callback();
|
||||
}, searchAnimDuration);
|
||||
};
|
||||
|
||||
$('#nav-search-btn').on('click', function(){
|
||||
if (isSearchAnim) return;
|
||||
|
||||
startSearchAnim();
|
||||
$searchWrap.addClass('on');
|
||||
stopSearchAnim(function(){
|
||||
$('.search-form-input').focus();
|
||||
});
|
||||
});
|
||||
|
||||
$('.search-form-input').on('blur', function(){
|
||||
startSearchAnim();
|
||||
$searchWrap.removeClass('on');
|
||||
stopSearchAnim();
|
||||
});
|
||||
|
||||
// Share
|
||||
$('body').on('click', function(){
|
||||
$('.article-share-box.on').removeClass('on');
|
||||
}).on('click', '.article-share-link', function(e){
|
||||
e.stopPropagation();
|
||||
|
||||
var $this = $(this),
|
||||
url = $this.attr('data-url'),
|
||||
encodedUrl = encodeURIComponent(url),
|
||||
id = 'article-share-box-' + $this.attr('data-id'),
|
||||
offset = $this.offset();
|
||||
|
||||
if ($('#' + id).length){
|
||||
var box = $('#' + id);
|
||||
|
||||
if (box.hasClass('on')){
|
||||
box.removeClass('on');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
var html = [
|
||||
'<div id="' + id + '" class="article-share-box">',
|
||||
'<input class="article-share-input" value="' + url + '">',
|
||||
'<div class="article-share-links">',
|
||||
'<a href="https://twitter.com/intent/tweet?url=' + encodedUrl + '" class="article-share-twitter" target="_blank" title="Twitter"></a>',
|
||||
'<a href="https://www.facebook.com/sharer.php?u=' + encodedUrl + '" class="article-share-facebook" target="_blank" title="Facebook"></a>',
|
||||
'<a href="http://pinterest.com/pin/create/button/?url=' + encodedUrl + '" class="article-share-pinterest" target="_blank" title="Pinterest"></a>',
|
||||
'<a href="https://plus.google.com/share?url=' + encodedUrl + '" class="article-share-google" target="_blank" title="Google+"></a>',
|
||||
'</div>',
|
||||
'</div>'
|
||||
].join('');
|
||||
|
||||
var box = $(html);
|
||||
|
||||
$('body').append(box);
|
||||
}
|
||||
|
||||
$('.article-share-box.on').hide();
|
||||
|
||||
box.css({
|
||||
top: offset.top + 25,
|
||||
left: offset.left
|
||||
}).addClass('on');
|
||||
}).on('click', '.article-share-box', function(e){
|
||||
e.stopPropagation();
|
||||
}).on('click', '.article-share-box-input', function(){
|
||||
$(this).select();
|
||||
}).on('click', '.article-share-box-link', function(e){
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
window.open(this.href, 'article-share-box-window-' + Date.now(), 'width=500,height=450');
|
||||
});
|
||||
|
||||
// Caption
|
||||
$('.article-entry').each(function(i){
|
||||
$(this).find('img').each(function(){
|
||||
if ($(this).parent().hasClass('fancybox')) return;
|
||||
|
||||
var alt = this.alt;
|
||||
|
||||
if (alt) $(this).after('<span class="caption">' + alt + '</span>');
|
||||
|
||||
$(this).wrap('<a href="' + this.src + '" title="' + alt + '" class="fancybox"></a>');
|
||||
});
|
||||
|
||||
$(this).find('.fancybox').each(function(){
|
||||
$(this).attr('rel', 'article' + i);
|
||||
});
|
||||
});
|
||||
|
||||
if ($.fancybox){
|
||||
$('.fancybox').fancybox();
|
||||
}
|
||||
|
||||
// Mobile nav
|
||||
var $container = $('#container'),
|
||||
isMobileNavAnim = false,
|
||||
mobileNavAnimDuration = 200;
|
||||
|
||||
var startMobileNavAnim = function(){
|
||||
isMobileNavAnim = true;
|
||||
};
|
||||
|
||||
var stopMobileNavAnim = function(){
|
||||
setTimeout(function(){
|
||||
isMobileNavAnim = false;
|
||||
}, mobileNavAnimDuration);
|
||||
}
|
||||
|
||||
$('#main-nav-toggle').on('click', function(){
|
||||
if (isMobileNavAnim) return;
|
||||
|
||||
startMobileNavAnim();
|
||||
$container.toggleClass('mobile-nav-on');
|
||||
stopMobileNavAnim();
|
||||
});
|
||||
|
||||
$('#wrap').on('click', function(){
|
||||
if (isMobileNavAnim || !$container.hasClass('mobile-nav-on')) return;
|
||||
|
||||
$container.removeClass('mobile-nav-on');
|
||||
});
|
||||
})(jQuery);
|
Loading…
Add table
Add a link
Reference in a new issue