我正在尝试将fancybox和jqueryui的手风琴实现到我的网站中,我无法运行fancybox。我很确定我正在调用函数,但它不会运行!
这是我声明脚本的地方:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="scripts/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
CSS
<link href="scripts/fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />
<link href="scripts/fancybox/style.css" rel="stylesheet" type="text/css" />
功能:
<script type="text/javascript">
//Accordion Code
var ContentHeight = 480;
var TimeToSlide = 250.0;
var openAccordion = '';
function runScripts()
{
runAccordion(1);
logosize();
fancybox();
}
function fancybox()
{
$(".fbox").fancybox({
height:390,
width:900
})
}
function runAccordion(index)
{
var nID = "Accordion" + index + "Content";
if(openAccordion == nID)
nID = '';
setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'"
+ openAccordion + "','" + nID + "')", 33);
openAccordion = nID;
}
//Logo Code
function logosize()
{
var logoID = document.getElementById('logo');
if (screen.width<=1152)
{
document.images["logo"].width = 175;
document.images["logo"].height = 175;
document.getElementById('AccordionWrapper').style.marginTop = '0px';
}
}
//End
</script>
和电话:
<a class="fbox" href="about.html">This goes to iframe</a>
整个事情的thepastebin就在这里:http://pastebin.com/eSQM6aX1
任何帮助都会很棒!感谢...
答案 0 :(得分:1)
您正试图在自己内部运行fancybox功能。您无法定义与fancybox()
函数同名的新函数。
function runScripts() {
runAccordion(1);
logosize();
fancybox(); // <--- the plugin is already using this function name
}
function fancybox() {
$(".fbox").fancybox({
height:390,
width:900
})
}
所以你可以重命名它......
function runScripts() {
runAccordion(1);
logosize();
Myfancybox();
}
function Myfancybox() {
$(".fbox").fancybox({
height:390,
width:900
});
}
但是你真正需要做的就是将它全部放在document.ready
函数中......
$(document).ready(function() {
runAccordion(1);
logosize();
$(".fbox").fancybox({
height:390,
width:900
});
});
当文档加载时,您想要触发的任何其他内容也可以放在那里。这消除了对runScripts()
初始化脚本的需要。 jQuery消除了对body onload
以及所有其他内联JavaScript的需求。
看到OP的页面后进行编辑:
http://www.semaphoredesign.com/web-devel/joker/test2.html
页面上唯一的错误。您应该已经在Firebug或Safari或Chrome中的开发人员工具中看到了这一点。
TypeError:表达式'$(document).ready'[undefined]的结果不是 一个功能。
这意味着jQuery未正确加载。我怀疑prototype.js
与jQuery冲突。
按照我之前的建议删除prototype
,看它是否开始有效。
然后按照here的说明解释如何将jQuery与其他库prototype
一起使用。请注意,脚本加载顺序很重要......