【发布时间】:2016-06-27 23:34:56
【问题描述】:
我是 javascript 的初学者。
我正在使用引导程序来构建自己的网站。我有一个包含信息的侧边栏。随着浮动属性的继续,侧边栏应该从左侧或右侧灵活。
如果浮动在左边,它将完全在左侧。对的也一样。所以在 CSS 或 HTMl 中没有任何问题。
javascript部分是这样的:
$(document).ready(function() {
$('#menu-toggle').on('click',function() {
$('.sidebar').css({
'float':'right'
})
});
var sidebarFloat = $('.sidebar').css('float');
$('.sidebar').hover(function () {
if (sidebarFloat == 'left'){
$(this).stop().animate({left:"0px"},500)
var width = $(this).width() -10;
$(this).stop().animate({left:- width },500);
alert("Float left");
}
else if (sidebarFloat == 'right'){
$(this).stop().animate({right:"0px"},500)
var width = $(this).width() -10;
$(this).stop().animate({left:+ width },500);
alert("Float right");
}
},function () {
});
});
应该在 float:left 或 float:right 之间切换的按钮
原来是float:left,按钮切换到float:right
当在常规侧“float:left”时,我悬停并且效果继续+发送一个消息框说它在左边。正如我在警报中所写的那样
该按钮更改浏览器预览中的 CSS。所以在预览中,它是 float:right
但是,当我在更改浮动后悬停时,它会在消息框中显示浮动。这意味着它从 CSS 文件中读取,而不是从浏览器中的活动部分中读取。 IDK如何解释它,但这是我迄今为止发现的,IDK是对还是错
因此,由于它无法读取语句,因此没有任何更改:-“else if (sidebarFloat == 'right')”,因为对于 javascript 端,它始终是 float:left。
【问题讨论】:
-
您没有更改任何一个 if 语句中的浮动 CSS,只是动画。它将被设置为开始时的设置或在切换点击时更改为“右”之后的设置。
标签: javascript jquery html css twitter-bootstrap