Javascript变量冲突
Javascript Variable Conflict
我在同一个页面上有两个脚本,都运行滑块,第一个打破了第二个,特别是悬停事件,仅在IE7和IE8中。我想知道两个脚本之间是否存在变量冲突。这是第一个:
<script type="text/javascript">
$(function(){
$('#slider')
.anythingSlider({
theme : "minimalist-square",
expand : false,
resizeContents : true,
buildArrows : true,
buildNavigation : true,
toggleArrows : true,
autoPlay : true
});
});
</script>
这是第二个脚本的一部分,这可能导致错误?
<script type='text/javascript'>
$(function() {
slider = $('.artist-homepage-slider .artist-wrapper');
handle = $('.homepage-slider .handle');
//productwidth = 20;
productwidth = 248;
products = $('.artist-homepage-slider .product');
productscount = products.length;
images = products.find('img');
productswidth = 0;
.
.
.
.
function slideleft() {
v = s.slider('option', 'value');
if (v > 0)
v -= 50;
ui.value = v;
s.slider('option', 'value', v);
f = s.slider('option', 'slide');
f(null,ui);
}
function slideright() {
v = s.slider('option', 'value');
if (v < fullWidth)
v += 50;
ui.value = v;
s.slider('option', 'value', v);
f = s.slider('option', 'slide');
f(null,ui);
}
});
可能是第二个脚本中滑块的声明导致问题?在其他文件中调用了其他脚本,其中一个会导致问题吗?在IE7和IE8中,滑动条显示出来,只是滑动功能不起作用。IE7和ie8以及其他会导致这种行为的浏览器之间的根本区别是什么?
我没有看到变量"s"在任何地方声明,但你在sliderRight和sliderLeft函数中都使用它。这在其他浏览器中工作吗?
你也有你的大多数变量附加到全局作用域,因为你没有声明他们与"var"。为了缩小作用域,从而减少冲突的机会,使用var来声明你的局部变量
相关文章:
- React:未捕获的不变量冲突:ReactDOM.render():无效的组件元素
- Javascript 全局变量命名冲突
- JavaScript变量名称和HTML输入名称属性:名称空间冲突
- 多个脚本标记变量冲突
- 用冲突的局部变量重新定义全局变量
- 模块模式中带有下划线的Javascript“private”变量名称会与undercore.js冲突吗
- 模态上的React-不变量冲突
- 客户端React-Router演示:不变量冲突
- 解决javascript变量名冲突,而不是iframe
- 自定义React Native UI组件:不变量冲突
- 不变量冲突:对象作为React的子对象是无效的
- 使用ReactDOM.render时的不变量冲突错误
- Javascript变量冲突
- jQuery/Javascript作用域,可能是变量作用域冲突
- React不变量冲突:对象作为React的子对象是无效的
- Coffeescript对象、jquery回调和变量作用域的冲突和混淆
- 2函数创建相同的变量,但没有冲突
- ReactJS错误:不变量冲突
- 未捕获的不变量冲突:期望onClick侦听器是一个函数,而不是类型对象
- 简单的jQuery变量问题-变量冲突