为两个ID设置一个变量的正确语法
correct syntax for setting one variable for two IDs
我有这个变量
var item_width = $('#slides li').outerWidth();
并且希望将其修改为也包括CCD_ 1。我必须写两个var并在它们各自的函数中使用它们吗?或者有没有一种方法可以在一行中包含这两个ID?
我这样做是因为我有两个div(切换),其中包含两个不同的幻灯片转盘,并试图共享尽可能多的脚本。
//编辑以推断//
我在这里遗漏了一些简单的东西,我知道。第一个div没问题,第二个就是不起作用。我应该使用类吗?(这可能是一个愚蠢的问题,但我对JS非常陌生)
有相当多的代码,我无法让jsfiddle工作,所以我只是在我们的生产网站上发布了一个开发文档。
(url已删除)
//编辑//
别介意,问题出在css上,而不是脚本上。将CCD_ 2添加到CCD_。它们都漂浮在ul
的左侧
var item_width = $('#slides:visible li,#slides2:visible li').outerWidth();
如果您想要所选元素的outerWidth()
s的数组。。。
$('#slides li, #slides2 li').map(function() { return $(this).outerWidth(); });
outerWidth()
将只返回单个Number
(或null
)。
您可以使用逗号构造一个引用两个"幻灯片"的jQuery对象:
var item_width = $('#slides li,#slides2 li').outerWidth();
然而,你可能会发现这不是你想要的,因为它只会给出匹配1的第一个元素的外部宽度。
所以,即使它不仅仅是一行,也许你想要的是:
var item_width = 0;
$('#slides li,#slides2 li').each(function () {
item_width += $(this).outerWidth();
});
而你可以更简单地使用:
var item_width = $('#slides li').outerWidth() + $('#slides2 li').outerWidth();
前一个版本的代码允许您以后更容易地扩展代码。正如其他人所建议的那样,您可以考虑为每张幻灯片<li>
(如"slideItem")分配一个公共类,然后使用以下代码来获得所有幻灯片的总宽度,无论有多少:
var item_width = 0;
$('.slideItem').each(function () {
item_width += $(this).outerWidth();
});
现在,您可能正在寻找最大宽度,而不是总宽度,在这种情况下,代码可以很容易地更改以满足您的需求:
var max_width = 0;
$('.slideItem').each(function () { //modify the selector to suit your needs.
max_width = Math.max(max_width, $(this).outerWidth());
});
为了简化选择两个不同的幻灯片,建议确保它们共享一个公共类。在这种情况下,请尝试将类#slides2 li
0添加到这两个类中。
var $allSlides = $('.slides');
由于.outerWidth()
只返回集合中第一个元素的宽度,因此可能需要对这些元素进行迭代并执行相同的操作。
$allSlides.each(function(index, element) {
var $this = $(this),
outerWidth = $this.outerWidth();
doSomething($this);
});
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 为什么window.open不打开一个以变量形式给出的链接
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 这在JavaScript中是一个好的变量名吗
- 可以't将sessionStorage设置为Javascript中的一个变量
- 如何在javascript中给变量一个随机值
- 在不同的.js文件之间传递变量;一个是在iframe内
- Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有
- 是否可以给变量一个默认值