我想使用.slideToggle从我的日历中打开事件详细信息(在iframe中)我的代码是:
<div id="clickme"><iframe id="frame" src="index.php?option=com_jevents&view=month&task=month.calendar&template=ja_purity" mce_src="index.php?option=com_jevents&view=month&task=month.calendar&template=ja_purity">Your browser does not support iframes.</iframe></div>
<div id="book" style="display:none;"><iframe name="details" scrolling="no" frameborder="0"></iframe></div>
<script>
$('#clickme').click(function() {
$('#book').slideToggle('slow', function() {
// Animation complete.
});
});
</script>
您可以在此处查看其工作原理:wisko.pl 现在只有当我点击iframe边框时才滑动工作。我想在日历中点击活动时打开它。可能吗?如何使用.click函数检查iframe中的div?
谢谢。仍然无法正常工作。难道我做错了什么?我的主要文件有:
<script>
function showevent(){
$('#book').slideToggle('slow', function() {
// Animation complete.
});
}
</script>
在iframe中我放了:
<script>
$('#eventstyle').click(function() {
document.parent.showevent();
}
</script>
答案 0 :(得分:0)
:
function showevent(){
$('#book').slideToggle('slow', function() {
// Animation complete.
});
}
内部iframe:
window.parent.showevent();
在iframe内部运行会导致该函数运行。而且你必须在iframe中捕获click事件 - 否则你不能。
编辑:
1.我的坏:我把document.parent放在这里而不是window.parent - 现在修复了
2.你的坏:当你使用jquery为事物分配点击事件时,你必须确定这些事情已经存在。所有jquery代码都应包含在$(document).ready(function(){/*your code here*/});
这就是为什么它没有机会为你工作。