我想将宽度从%更改为元素手风琴的宽度 - 244px(手风琴右侧元素的总大小)。
$(function() {
$('.accordion > li').hoverIntent(
function () {
var $this = $(this);
>>> $this.stop().animate({'width':'80%'},500); <<<
$('.heading',$this).stop(true,true).fadeOut();
$('.bgDescription',$this).stop(true,true).slideDown(500);
$('.description',$this).stop(true,true).fadeIn();
},
function () {
var $this = $(this);
$this.stop().animate({'width':'5em'},1000);
$('.heading',$this).stop(true,true).fadeIn();
$('.description',$this).stop(true,true).fadeOut(500);
$('.bgDescription',$this).stop(true,true).slideUp(700);
}
);
});
我在想:
var accordwidth = $("accordion").width() -244;
$this.stop().animate({'width':accordwidth },500);
但它不起作用。
答案 0 :(得分:0)
<script type="text/javascript">
$(function() {
$('.accordion > li').hoverIntent(
function () {
var $this = $(this);
var wide1 = $('body').width();
var wide2 = $('li.bg1').width()*3;
var wide3 = wide1 - wide2 - 4;
$this.stop().animate({'width':wide3},500);
$('.heading',$this).stop(true,true).hide();
$('.bgDescription',$this).stop(true,true).slideDown(500);
$('.description',$this).stop(true,true).fadeIn();
},
function () {
var $this = $(this);
$this.stop().animate({'width':'5em'},500);
$('.heading',$this).stop(true,true).fadeIn();
$('.description',$this).stop(true,true).fadeOut(500);
$('.bgDescription',$this).stop(true,true).slideUp(700);
}
);
});
</script>
我确信这可能是更好的语法,但它可以工作。 wide1是手风琴的父母,wide2是手风琴的三个元素所占据的空间(4个元素),wide3是我从身体中扣除3个另外元素占据的空间+这些边界所占据的边界后可用的空间元素。 我为像我这样不懂javascript&amp; amp;花了一个小时来找到解决这个特定问题的方法。