【问题标题】:linking images on mouseover在鼠标悬停时链接图像
【发布时间】:2014-07-21 14:16:55
【问题描述】:

大约一年前我有人帮我设计了我的网站,我需要修复一些看起来不完整的东西。我有一个在鼠标悬停某些文本时被替换的图像。我需要的是替换图像可以点击到文本指向的相同链接。例如,将鼠标悬停在文本“投资组合”上会将图像更改为我预加载的图像。单击文本“投资组合”会将用户带到图片库。我希望能够单击图像以转到与单击文本相同的位置。这是为我实现的代码。

html

<div class="cmDirectory"><a onMouseover="changeimage(myimages[1],this.href)" href="http://www.example.com">Portfolio</a></div>

鼠标悬停时更改的初始照片的html

<a href="javascript:warp()"><img class="loader" src="/path/to/initialimage.jpg" name="targetimage" border="0"></a>

javascript

var myimages=new Array()
var gotolink="#"

function preloadimages(){
for (i=0;i<preloadimages.arguments.length;i++){
myimages[i]=new Image()
myimages[i].src=preloadimages.arguments[i]
}
}

preloadimages("/path/to/image1.jpg",
"/path/to/image2")

function changeimage(towhat,url){
if (document.images){
document.images.targetimage.src=towhat.src
gotolink=url
}
}
function warp(){
window.location=gotolink
}

我是编码新手,所以请具体说明您的答案。看来我需要在 javascript 中添加一些内容来定义每张照片的链接。

【问题讨论】:

    标签: javascript image hyperlink mouseover


    【解决方案1】:

    只要改变这个:

    <a href="javascript:warp()"><img class="loader" src="/path/to/initialimage.jpg" name="targetimage" border="0"></a>
    

    到这里:

    <a name="img_link" href="javascript:warp()"><img class="loader" src="/path/to/initialimage.jpg" name="targetimage" border="0"></a>
    

    在 JavaScript 中替换这个:

    function changeimage(towhat,url){
    if (document.images){
    document.images.targetimage.src=towhat.src
    gotolink=url
    }
    

    与:

    function changeimage(towhat,url){
    if (document.images){
    document.images.targetimage.src=towhat.src
    document.img_link.href=url;
    }
    

    【讨论】:

    • 感谢您的回复。使用您在单击照片时提供的更改,网址只是从 example.com 变为 example.com/# 我需要对 var gotolink="#" 做些什么吗?我希望照片的链接与单击鼠标悬停时更改照片的文本的链接相同。谢谢
    • 我测试了你所说的,但没有发现问题(链接,带“/#”的链接和不带“/#”的链接将我带到同一页面)。我的意思是,只要将“/#”附加到 URL 的末尾,它有什么关系,只要它将您带到正确的目的地。但是,如果问题是我没有找到的,那么您能否详细说明或提供 jsfiddle
    • 我希望我做对了...jsfiddle.net/c9b5L我希望右侧的图像可以点击到与左侧文本相同的href。谢谢。
    • 一切都很好并且正常工作,您只需将 onclick="warp()" 添加到 img 标签,为了让人们知道图像是可点击的,您还必须将 style="cursor:pointer;" 添加到img 标签。
    • 我用你的建议更新了 jsfiddle,但它仍然不适合我-jsfiddle.net/9YZ6L/2 当我向下滚动左侧的画廊名称时,图像会发生变化,但单击该图像不会我点击相应文本的网址,这是我想做的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多