变量w/JQuery选择器破坏了我的代码
Variable w/ JQuery selector breaks my code
变量中的jQuery选择器出现问题。哦,HTML(背景图像:url('OME-image-url'))有一个内联样式,而不是样式表。
我似乎无法制作这个JS/JQuery脚本。它完全打破了剧本。
var contentHeight = $(this).css('background-image').height();
完整代码:
var sliderWidth = 0;
$(".slider li").each(function() {
var contentHeight = $(this).css('background-image').height();
sliderWidth = sliderWidth + 100;
$(".slider ul li").css("height",contentHeight);
});
var sliderContentWidth = sliderWidth/100;
$(".slider").css("width",sliderWidth + "%");
$(".slider li").css("width",100/sliderContentWidth + "%");
setInterval(function(){
$(".slider ul").css("right",100/sliderContentWidth + "%");
}, 5000);
$.css()
上面的函数(jQuery.css())返回给定属性的css值;在你的情况下是一根绳子。不过字符串没有.height()方法。
所以在你的线路上。。
var contentHeight = $(this).css('background-image').height();
这是真的发生了。。
- 对CCD_ 1进行评价;并返回一个jQuery实例
.css('background-image')
在jQuery实例上运行,并返回字符串(映像名称).height()
在字符串上运行。。。但它并不存在。。哦
不过,在您的场景中,元素本身的高度可能就足够了。
$(this).height()
特别是考虑到默认情况下,如果背景比元素小,它只会重复,如果背景大,它不会溢出。
超越问题,并在下面的评论后澄清:
你想要背景图像的大小吗?这在现实中没有多大用处。请查看W3文档中的背景属性。
如果图像小于其应用的元素,则background-repeat
属性默认为repeat
。最终结果背景呈现整个元素。
如果图像大于它所应用的元素,那么它在元素边界之外是不可见的。这就是精灵工作的原因。最终结果背景呈现整个元素
这种行为可以使用不同的属性来改变,但在你的场景中似乎不是这样。所以本质上,元素的高度就是背景的高度。
如果你想获得图像的实际尺寸,那么你需要使用<img>
元素,作为DOM元素,它确实有height()
和width()
方法/属性。(尽管这需要绝对定位,可能还需要一些z索引;如果你需要这样做,那么最好重新考虑你正在做的事情)
相关文章:
- D3.js剪辑路径截断了我的图的边缘
- 清单文件中的update_url禁用了我的chrome扩展
- JQuery Mobile破坏了我的布局:如何禁用自动打字
- 闭包编译器--调试解决了我的错误
- RequireJS减慢了我的Web应用程序的负载
- 约曼发电机有棱角的咕哝发球:dist打断了我的应用程序
- 为什么require.js似乎在初始页面加载时加载了我的所有模块
- JQuery破坏了我的功能吗
- Django混合了我的模板
- Uglifier是不是弄坏了我的睡衣
- 不存在的XML节点破坏了我的脚本
- 仅限Chrome:ajax冻结了我的JavaScript执行
- 为什么d3忽略了我的颜色数组
- if语句禁用了我的jquery函数/按钮
- 是什么导致了我的scrollTo函数出现问题
- 为什么可以't我在html上启动了我的LibGDX项目
- 为什么 JQuery 附加颠倒了我的语句顺序
- AngularJS element.find更改了我的对象
- AdBlock阻止了我的一个页面
- 猫头鹰旋转木马弄坏了我的菜单