3 回答

TA貢獻(xiàn)1036條經(jīng)驗(yàn) 獲得超461個(gè)贊
<script?type="text/javascript"> ????//swiper部分,為了各位方便復(fù)制我就寫到一個(gè)頁面中 ????var?mySwiper?=?new?Swiper('#topNav',?{ ????????freeMode:?true, ????????freeModeMomentumRatio:?0.5, ????????slidesPerView:?'auto', ????}); ????swiperWidth?=?mySwiper.container[0].clientWidth ????maxTranslate?=?mySwiper.maxTranslate(); ????maxWidth?=?-maxTranslate?+?swiperWidth?/?2 ????$(".swiper-container").on('touchstart',?function(e)?{ ????????e.preventDefault() ????}) ????mySwiper.on('tap',?function(swiper,?e)?{ //??e.preventDefault() ????????slide?=?swiper.slides[swiper.clickedIndex] ????????slideLeft?=?slide.offsetLeft ????????slideWidth?=?slide.clientWidth ????????slideCenter?=?slideLeft?+?slideWidth?/?2 ????????//?被點(diǎn)擊slide的中心點(diǎn) ????????mySwiper.setWrapperTransition(300) ????????if?(slideCenter?<?swiperWidth?/?2)?{ ????????????mySwiper.setWrapperTranslate(0) ????????}?else?if?(slideCenter?>?maxWidth)?{ ????????????mySwiper.setWrapperTranslate(maxTranslate) ????????}?else?{ ????????????nowTlanslate?=?slideCenter?-?swiperWidth?/?2 ????????????mySwiper.setWrapperTranslate(-nowTlanslate) ????????} ????????$("#topNav??.active").removeClass('active') ????????$("#topNav?.swiper-slide").eq(swiper.clickedIndex).addClass('active') ????????$("#topNav?.swiper-slide").eq(swiper.clickedIndex) ????????var?scrollHeight?=?$(".tabSection").eq(swiper.clickedIndex).offset().top; ????????$("html,body").animate({scrollTop:scrollHeight-40}); ????}) ????//jquery部分 ????$(document).ready(function(){ ????????$("html,body").animate({scrollTop:0}); ????????//判斷導(dǎo)航個(gè)數(shù) ????????var?tabLength?=?$('.swiper-slide?a').length; ????????//導(dǎo)航高度 ????????var?tabTop?=?$("#topNav").offset().top; ????????//?console.log(tabTop) ????????//分類數(shù)組?把每個(gè)模塊的高度放進(jìn)sectop中 ????????var?secTop?=?new?Array(); ????????$(".tabSection").each(function(index)?{ ????????????secTop.push($(this).offset().top); ????????}); ????????$(window).scroll(function(){ ????????????var?winScrollTop?=?$(window).scrollTop(); ????????????//懸浮導(dǎo)航 ????????????if(winScrollTop?>=?tabTop){ ????????????????$("#topNav").addClass("tabFloat"); ????????????}else{ ????????????????$("#topNav").removeClass("tabFloat"); ????????????} ????????????//切換導(dǎo)航 ????????????if(winScrollTop?>=?secTop[secTop.length-1]-100){ ????????????????$("#topNav??.active").removeClass('active') ????????????????$("#topNav?.swiper-slide").eq(secTop.length-1).addClass('active') ????????????}else??if(winScrollTop?<?secTop[0]-100){ ????????????????$("#topNav??.active").removeClass("active"); ????????????}else{ ????????????????for(i?=?0?;?i?<?secTop.length-1?;?i++){ ????????????????????if(winScrollTop?>=?secTop[i]-100?&&?winScrollTop?<?secTop[i+1]-100){ ????????????????????????$("#topNav??.active").removeClass("active"); ????????????????????????$("#topNav??.swiper-slide").eq(i).addClass("active"); ????????????????????} ????????????????} ????????????} ????????}); ????????/*就是這塊用谷歌模擬手機(jī)時(shí)這塊的事件沒有執(zhí)行,不知道為什么*/ //????????這里的代碼移動(dòng)到?51?行了? ????????//滾動(dòng)到對應(yīng)專區(qū) //????????$('.swiper-slide').each(function(index)?{ //????????????console.log(this); //????????????$(this).click(function(){ //????????????????var?scrollHeight?=?$(".tabSection").eq(index).offset().top; //????????????????$("html,body").animate({scrollTop:scrollHeight-40}); //????????????}); //????????}); ????}); </script>
點(diǎn)擊事件在Swiper里攔掉了,到不是jquery這一去,可以去了解一下事件冒泡的相關(guān)知識

TA貢獻(xiàn)23條經(jīng)驗(yàn) 獲得超2個(gè)贊
html部分:
<div id="topNav" class="swiper-container">
?<div class="swiper-wrapper">
? ?<div class="swiper-slide ">
? ? ? ?<a ?>
? ? ? ? ?<div ?class="sport">aa</div>
? ? ?</a>
? ?</div>
? ?<div class="swiper-slide">
? ? ? ?<a >
? ? ? ? ? <div ?class="mw">bb</div>
? ? ? ?</a>
? ?</div>
? ?<div class="swiper-slide">
? ? ? ?<a >
? ? ? ? ? <div ?class="bd">cc</div>
? ? ? </a>
? ?</div>
? </div>
</div>
<div class="tabSection">
? /////////////
</div>
<div class="tabSection">
? /////////////
</div>
<div class="tabSection">
? /////////////
</div>
<div class="tabSection">
? /////////////
</div>
- 3 回答
- 0 關(guān)注
- 6658 瀏覽
添加回答
舉報(bào)