Tetapkan kesan mengklik ikon roket jquery tatal kembali ke kod JS teratas

Artikel ini menerangkan cara melaksanakan kesan "klik roket untuk kembali ke atas" dalam tema WordPress .

  • Jika anda seorang ahli WordPress, anda tahu cara mengalihkannya ke tema WordPress.
  • Artikel ini juga sesuaimembina laman webpemula.

Pendakian Roket Kembali ke Gambar Atas

Klik imej yang menunjukkan roket naik kembali ke atas.

Muat turun imej di atas terlebih dahulu, disyorkan untuk meletakkannya dalam folder imej di bawah direktori tema.

Langkah 1: Muatkan fail perpustakaan jQuery

  • Muatkan fail perpustakaan jQuery, jika tema WordPress sudah dimuatkan, anda boleh mengabaikan langkah ini;

WordPress memperkenalkan perpustakaan jQuery pihak ke-3, sila semak tutorial ini ▼

Langkah 2: Tambahkan kod pada fail footer.php

Tambahkan kod berikut ke lokasi yang sepadan dalam footer tema.php ▼

<div class="one"></div>
<div id="backtotop" style="display:none;"></div>

Langkah 3: Tambah Kod pada Fail CSS

Tambahkan kod CSS berikut pada fail style.css tema ▼

.one {width:100%;height:3000px;}
#backtotop {background:url(images/rocket_up.png) 0px 0px no-repeat;position:fixed;bottom:0px;right:10px;width:149px;height:260px;cursor: pointer;z-index:1000;}

Langkah 4: Tambahkan kembali ke kod JS atas

Untuk kod js berikut, anda boleh mencipta fail js lain;

atau gabungkannya ke dalam fail js yang berkaitan dengan tema sedia ada (disyorkan);

atau anda boleh membungkusnya dalam footer.php Sederhana ▼

var scrollTT = {
tTSpeed : 800, // 滚动到顶部的时间
startFlyTime : 1000, // 火箭起飞的时间
restartTime : 1200, // 重置火箭位置的时间
flySpeed : 50, // 火箭向上飞行的速度
obj : $("#backtotop"), // 回到顶部的dom
flyTemp : '', // 一个setInterval的临时变量
/**
* 
* 初始化 scrollTT 函数
* 主要是像对象添加事件
*
*/
init : function( obj, tTSpeed, startFlyTime, restartTime, flySpeed ) {
scrollTT.tTSpeed = scrollTT.tTSpeed || tTSpeed;
scrollTT.startFlyTIme = scrollTT.startFlyTIme || startFlyTime;
scrollTT.restartTime = scrollTT.restartTime || restartTime;
scrollTT.flySpeed = scrollTT.flySpeed || flySpeed;
scrollTT.obj = scrollTT.obj || obj;

// 向window 绑定scroll 事件
scrollTT.onScroll();


scrollTT.obj.click(function(){
// 关闭默认的scroll事件
$(window).off("scroll");
// 页面向上滚动
$('html,body').animate({scrollTop: '0px'}, this.tTSpeed);
// 火箭向上飞行
scrollTT.objFly();
// 火箭的喷气效果
scrollTT.blow();

});

// 鼠标在火箭上的效果
scrollTT.obj.mouseenter(function() {
$(this).css('background-position', '-149px 0px');
});
// 鼠标移开的效果
scrollTT.obj.mouseleave(function() {
$(this).css('background-position', '0px 0px');
});

}, 
/*
* 向window 绑定scroll 事件
*
*/
onScroll : function() {
$(window).on('scroll', function() {
if ($(window).scrollTop()>500){
scrollTT.obj.fadeIn(500);
}else{
scrollTT.obj.fadeOut(1500);
}
});
},
/**
* dom对象向上飞行
*
*/
objFly : function() {
var fly = setTimeout(function(){
scrollTT.obj.animate({top: '-500px'} ,'normal', 'swing');
scrollTT.resetFly();
clearTimeout(fly);
clearInterval(scrollTT.flyTemp);
}, scrollTT.startFlyTime);
},
/**
* dom 对象飞行完毕回到原来的位置
*
*/
resetFly : function() {
var fly2 = setTimeout(function() {
scrollTT.obj.hide();
scrollTT.obj.css("top", 'auto');
scrollTT.obj.css("background-position", '0px 0px');
scrollTT.onScroll();
clearTimeout(fly2);
},scrollTT.restartTime);
},
/**
* dom 对象的喷气效果
*
*/
blow : function() {
var topPosiiton = -149;
scrollTT.flyTemp = setInterval(function() {
topPosiiton += -149;
if(topPosiiton < -743) {
topPosiiton = -149
}
scrollTT.obj.css('background-position', topPosiiton + 'px 0px');
}, this.flySpeed);
}
};

scrollTT.init();

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Tatal ke