添加规则/插入规则无法正常工作
addRule / insertRule Not working locacly
我正在构建一个javascript图像滑块,并注意到在chrome中本地拉起index.html文件时出现问题。这是我的代码
(function(){ //slider container
var slider = document.getElementById('slider');
var figure = slider.childNodes[1];
var slidyImgs = figure.getElementsByTagName('IMG');
var figureWidth = slidyImgs.length * 100;
var slidyImgsWidth = 100 / slidyImgs.length;
css('#slider figure{ width: '+figureWidth+"%; }");
css('#slider figure img{ width: '+slidyImgsWidth+"%; }");
var xPos = 100;
setInterval(function(){
figure.style.marginLeft = "-" + xPos + "%";
xPos = (xPos === (figureWidth - 100)) ? 0 : xPos + 100;
},7000);
})()
function css(newrule) { //adds a new style to stylesheet
var styles = document.styleSheets[1]
try {
styles.insertRule(newrule, styles.cssRules.length);
} catch(err) {
try { styles.addRule(newrule); }catch(err){} //IE
};
};
当我在本地打开文件时,似乎没有应用插入规则。但是当我在服务器上打开它时,插入规则显示为正常。任何人都知道是什么原因造成的
您可以在我的服务器上查看网站/源代码:http://magnetwd.com/kellin/
我会做这样的事情(如果 jQuery 不是一个选项)
function addStylesBySelector(sel, newStyles) {
var els = document.querySelectorAll(sel)
for (var i = 0; i < els.length; i++) {
for (var k in newStyles) {
els[i].style[k] = newStyles[k];
}
}
}
用法:
addStylesBySelector('#slider figure', {"width": figureWidth + "%"})
那么显然,您可以为第二个参数添加的不仅仅是width
。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- j查询验证规则无法正常工作
- 添加规则/插入规则无法正常工作
- 获取window需要遵循的规则.外部工作
- jQuery验证插件,用属性声明需要的规则不工作
- 如何使自定义jQuery-Validate规则工作
- jQuery:验证规则没有按预期工作
- jQuery动态加载不工作的图像,向多个规则图像显示如何替换src=而不附加到它
- jQuery添加自定义密码规则不工作
- Jquery验证插件.没有使用远程规则删除错误元素(所有元素都可以在没有远程规则的情况下工作)