当我的屏幕显示时,我正在尝试将项目添加到导航栏。 480px和滚动是> 80.这个项目的多个副本正被插入我的主导航。有人可以帮我理解为什么会这样吗?你可以通过here看看发生了什么。
$(function () {
var $window = $(window);
var $width = $(window).width();
function windowWidth() {
if ($width < 480) {
function top() {
var $top = $window.scrollTop();
if ($top < 80) {
$(".main-nav").css({
'position': '',
'width': '99.5%'
});
$(".thick-line-header").css("display", "");
} else {
var $homeTab = $('<li class="home"><a href="#top" >test</a></li>');
$(".main-nav li").css({
'position': 'fixed',
'width': '100%',
'top': '0',
'left': '0',
'margin-top': '0'
});
$("#main-nav").prepend($homeTab);
$(".thick-line-header").css("display", "none");
}
};
$(window).scroll(top);
}
};
windowWidth();
});
答案 0 :(得分:0)
我试图重现你的错误,但我没有机会,也许我错过了什么 无论如何,我想你需要添加一个标志天气数据已添加之前或之前,因为你的条件是真实的不止一次,当你滚动
var added = false;
$(function() {
var $window = $(window);
var $width = $(window).width();
function windowWidth() {
if ( $width< 480 ) {
function top() {
var $top = $window.scrollTop();
if( $top < 80 ) {
$(".main-nav").css({
'position': '',
'width': '99.5%'
});
$(".thick-line-header").css("display","");
}
else {
var $homeTab = $('<li class="home"><a href="#top" >test</a></li>');
$(".main-nav li").css({
'position': 'fixed',
'width': '100%',
'top':'0',
'left':'0',
'margin-top':'0'
});
if(!added) {
$("#main-nav").prepend($homeTab);
added = true;
}
$(".thick-line-header").css("display","none");
}
};
$(window).scroll(top);
}
};
windowWidth();
});
我希望这可以帮助:)
答案 1 :(得分:0)
你给了一个位置:固定在列表项上。您需要在容器上设置“固定”选项。 e.g。
$(".main-nav").css({'position': 'fixed', 'width': '100%', 'top':'0', 'left':'0', 'margin-top':'0'});
而不是
$(".main-nav li").css({'position': 'fixed', 'width': '100%', 'top':'0', 'left':'0', 'margin-top':'0'});
希望这有帮助!