如何在javascript中为新添加的div指定另一个宽度
我正在自定义以下脚本: 但不是6个div(或者本例中的6个家伙),而是11个,其中最后4个div是通过自定义导航打开的 但是我想让最后4个分区的大小变宽,如果可能的话,可以用一个可变的大小来填充内容分区的右侧 我该怎么做 提前谢谢如何在javascript中为新添加的div指定另一个宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在自定义以下脚本: 但不是6个div(或者本例中的6个家伙),而是11个,其中最后4个div是通过自定义导航打开的 但是我想让最后4个分区的大小变宽,如果可能的话,可以用一个可变的大小来填充内容分区的右侧 我该怎么做 提前谢谢 /* get the item for the current */ var $item = $menuItems.eq(current); var $item2 = $menuItems + 7; /* i added this line */ & Iv'e
/* get the item for the current */
var $item = $menuItems.eq(current);
var $item2 = $menuItems + 7; /* i added this line */
&
Iv'e尝试了+++++css的东西,但我运气不好,但我已经上传了网站。。。
您可以尝试使用css第n个子项,检查下面JSFIDLE中的示例
div{
width:20px;
height:100px;
float:left;
margin:1px;
background:blue;
}
div:nth-child(n+7){
width:100px;
}
目前有几件事不对劲。首先,您添加的第二行代码实际上是某些链接方法的一部分 您不需要添加的第一行代码 检查脚本后,看起来
current
变量包含触发器列表中项目的从零开始的数组索引。如果它不是基于零的,您可能需要在下面的代码中将6更改为7(或更改为任何适当的值)
我的建议是:
/* if not just show it */
var itemWidth = current < 6 ? '400px' : '700px';
$item.css({width : itemWidth})
.find('.ei_image')
.css({left:'0px', opacity:1,});
到
itemParam=(dir)?电流<7?{width:'400px'}:{width:'700px'}:{width:'75px'},
编辑2:更新发现css更改
在您的css for.eiu菜单ul
删除宽度:1300px代码>
如果您不希望滚动条出现,也可以删除overflow:scroll代码>来自.ei_descr2
编辑3:更新最后4个div,使其具有可变宽度
您只需更改.ei_descr2
尝试的位置宽度:100%代码>待最小宽度:300px
这将导致div的最小宽度为300px,如果需要,它们将扩展以获取更多内容。注意:您可以将min width
值更改为您喜欢的任何值。使用%表示宽度如何?我强烈建议使用CSS来执行此操作,因为您的问题明确指出“在JavaScript中”,您可以:1。计算第2页的宽度。把你需要的宽度加起来-3。使用$(“.element”).css(“宽度”,变量+“px”)
更改最后4个元素的宽度。如果需要,可以使用.animate({width:variable+“px”})代码>取而代之。(我已经在jQuery中给出了这些例子,因为它可以更快地打印出来)CSS解决方案:@Sandor,我已经尝试了你的建议,但没有成功。。。它朝着正确的方向发展,但我看不到自己能正确地工作:s@mijncore修改脚本通常比自己动手更难:)我更新了我的答案,也为您添加了一个css更改。好吧,看起来更像:)已经有很多感谢Sandor了!也许我知道如何使最后4个变宽,已经尝试过100%的宽度,但那不起作用。与这些神奇的脚本相比,我“能”用js写的东西是微不足道的:)
/* if not just show it */
var itemWidth = current < 6 ? '400px' : '700px';
$item.css({width : itemWidth})
.find('.ei_image')
.css({left:'0px', opacity:1,});
itemParam = (dir) ? {width : '400px'} : {width : '75px'},
itemParam = (dir) ? current < 7 ? {width : '400px'} : {width : '700px'} : {width : '75px'},