在.load()页面之后执行javascript
execute javascript after .load() page
我有页面,其中div内容从外部*.php文件加载。一切都很完美,但是当我想在加载的页面上使用缩放插件时,它不起作用。
my page structure:
<div id="wrapper">
<img id="zoom" src="example.jpg"/> /**zoom plugin works here**/
<a href="external_content">button which onclick load external content</a>
<div id="external_content">
<p>a lot of text here</p>
<img id="zoom2" src="example2.jpg"/> /**zoom plugin doesn't work here**/
</div>
</div>
我怀疑问题是脚本不执行页面加载后。我在这个网站上读了很多例子,但是没有一个对我没有帮助。
这是我的。html文件 <html>
<head>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="http://www.dynamicdrive.com/dynamicindex4/ddpowerzoomer.js"></script>
<script type="text/javascript">
jQuery(document).ready(function($){
$('#zoom').addpowerzoom();
$('#zoom2').addpowerzoom();
});
</script>
<head>
</html>
和加载外部内容的主脚本在这里
jQuery.noConflict()
jQuery(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = jQuery('#nav li a').each(function(){
var href = jQuery(this).attr('href');
if(hash==href.substr(0,href.length-4)){
var toLoad = hash+'.html #content_low'+divId;
jQuery('#content'+divId).load(toLoad);
}
});
jQuery('#nav li a').click(function(){
divId = jQuery(this).parents('li').attr('id');
var toLoad = jQuery(this).attr('href')+' #content_low'+divId;
jQuery('#content'+divId).slideUp(500,loadContent);
function loadContent() {
jQuery('#content'+divId).load(toLoad,showNewContent)
}
function showNewContent() {
jQuery('#content'+divId).delay(200).slideDown(800);
jQuery("#urun_ac").fadeOut(100);
}
return false;
});
});
您必须在回调函数中再次调用缩放函数:
function showNewContent() {
jQuery('#content'+divId).delay(200).slideDown(800);
jQuery("#urun_ac").fadeOut(100);
$('#zoom').addpowerzoom();
$('#zoom2').addpowerzoom();
}
相关文章:
- 如何在`window.open`之后执行回调
- 在$state.go之后执行$window.location.reload(true)
- Javascript:在每个onmouseover事件之后执行2个函数
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 在两个元素的 onrender 事件之后执行函数
- 流星技术/模式,用于等待数据库变量更改,然后在 in 之后执行某些操作
- 在jQuery .load Ajax之后执行if-statement
- 使javascript在firefox中的插件javascript之后执行
- 在catch之后执行
- 是否可以在特定的console.log()条目之后执行Javascript函数
- oncomplete 方法并不总是在操作 JSF 之后执行
- nodejs:setImmediate 回调在 setTimeout(fn, 0) 之后执行,与 nodejs 文档描述
- 为什么我不能在我的OnclientClickEvent之后执行我的onClick
- 在 ajax 之后执行数据表或重新绘制表
- 在 jQuery / Javascript 中的 bind() 事件之后执行条件
- 如何使 jQuery 语句在 .load() 之后执行
- 在具有 FS 操作的 FOR 循环之后执行
- 在 dgrid renderRow 之后执行一个函数
- window.print() 之后的 Javascript 有时在打印对话框之前执行,有时在打印对话框之后执行
- 在 3SE 之后执行函数