【问题标题】:I want to load different images to a div, from links我想从链接将不同的图像加载到 div
【发布时间】:2010-01-26 09:48:37
【问题描述】:
您好,您对 jQuery 非常陌生,并且在您的精彩教程中幸存下来。
我正在开发我的投资组合网站,并且有一个项目列表,该列表使用 jQuery 的加载功能在单击时将每个项目的描述加载到单独的 div 中。每个描述中都有一组数字链接,比如 1-5,我想在单击时将相关图像显示到另一个单独的 div 中。到目前为止,我的问题是我无法重用 load 函数,因为它覆盖了它的初始使用,并且似乎不想被回显到包含我所有项目描述的 php 文件中。
有没有办法解决这个问题?
【问题讨论】:
标签:
jquery
ajax
image
html
load
【解决方案1】:
我只是猜测,因为我没有看到你的代码,但是当你使用 ajax 动态加载内容时,新内容中的任何 javascript 都不会被执行。
解决这个问题的最好方法是使用jQuery's live function 来定位新加载内容中的链接,当点击时它会替换图像 src - 无需使用 load 来抓取图像。下面是一些示例代码:
主页javascript(我没有包含加载功能)
$('.project').live('click',function(){
newImg = $(this).attr('data-img');
$('#content img.projectImg').attr('src', newImg);
})
加载内容中的 HTML
<div id="content">
<!-- this content was dynamically loaded -->
<img class="projectImg" style="float:right"/>
<ul>
<li class="project" data-img="project1.jpg">Project 1</li>
<li class="project" data-img="project2.jpg">Project 2</li>
</ul>
</div>
【解决方案2】:
你可以尝试使用纯 JavaScript 来做,不需要 jquery
例如动态改变图片或文字:
document.getElementById('Image_tag_ID').src = 'http:\\ bla-bla';
or
document.getElementById('Div_tag_ID').innerHTML = '<h1>Hello</h1>';