作为一个 javascript/jQuery 菜鸟,我遇到了一个找不到解决方案的问题。
我有一个函数可以从 url 中获取一些参数并替换元素。都好。我在页面上也有 FancyBox 的实例。
它感觉我的 getUrlVars 函数中的某些东西正在杀死 FancyBox。如果我首先在准备好的文档中加载 FancyBox,它只会将较大的图片加载到新的浏览器窗口中,就像常规链接一样。如果我获取 URL 变量并让它们在加载 FancyBox 之前做他们的事情,链接根本不做任何事情。
我已经尝试过单独运行它们并且它们运行良好,直到我尝试同时运行它们。
这是 getUrlVars 脚本...
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var salesname = getUrlVars()["agent"];
var salesname = unescape(salesname);
var vendor = getUrlVars()["vendor"];
var vendor = unescape(vendor);
var position = getUrlVars()["position"];
var position = unescape(position);
$('h1:contains("thisiswherethevendorgoes")').html( '<span class = "fade-in one"> <strong>Prepared for ' + vendor + '</strong></span>');
$("body").html($("body").html().replace(/salesname/g, salesname + ', ' + position));
});
在我设置 FancyBox 之前或之后(我尝试了所有排列)...
$("a#fbs").fancybox({
'opacity' : true,
'overlayShow' : true,
'transitionIn' : 'elastic',
'easingIn' : 'easeInCirc',
'transitionOut' : 'elastic',
'easingOut' : 'easeOutCirc',
'speedIn' : 500,
'speedOut' : 250
});
两者都必须在 $(document).ready(function() {
有什么线索吗?非常感谢任何和所有建议。
最佳答案
尝试下面的语法来避免冲突
<script type="text/javascript">
$.noConflict();
// Code that uses other library's $ can follow here.
</script>
关于javascript 函数禁用和/或与 fancybox 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8145992/