【问题标题】:Featured Image on Hover Showing Data for that Image not shown on thumbnails悬停时的特色图像显示该图像的数据未显示在缩略图上
【发布时间】:2014-03-12 05:25:31
【问题描述】:

我需要在右侧的特色图片中添加尺寸/文本数据。我打算将它添加到另一个图像并交换它......或者可能隐藏带有图像数据的标题并在特色上显示它们?对此有最佳方法的任何想法?非常感谢你帮助我!

http://test.pillarsoflifebook.com/ottomans/

目前它只是一行尺寸,但我希望这是可扩展的,以防客户希望其他页面具有描述或比单行更深入的文本。

非常感谢!这是我目前用于交换的 JQuery:

function myFunction2() {
    var $large = jQuery('#largeImage1');

    //store the default image as the data src
    $large.data('src', $large.attr('src'));

    var src = jQuery('#largeImage').attr('src');
    jQuery('#thumbs1 img').hover(function () {
        $large.attr('src', jQuery(this).attr('src').replace('thumb', 'large'));
    }, function () {
        //on mouse leave put back the original value
        //$large.attr('src', $large.data('src'));
    });
}

jQuery(document).ready(function () {
    jQuery(myFunction2);
});

【问题讨论】:

  • 所以你想要产品名称和图片?
  • 你想在图片右侧显示什么文字?从哪里获取文本?
  • 我需要显示产品名称和尺寸。我不确定是否将文本添加为​​ ALT ... 添加标题 ... 或者只是将文本添加到右侧显示的另一个图像中。你有什么建议吗?例如,第一张图片的图片名称为 15x15x30。

标签: jquery image hover swap captions


【解决方案1】:

首先将此代码用于最底部的 4 个图像(设计选项),并告诉它是否正确地提醒项目名称?

并将鼠标悬停在最底部的 4 张图片上

function myFunction() {
    var $large = jQuery('#largeImage');

    //store the default image as the data src
    //$large.data('src', $large.attr('src'));

    var src = jQuery('#largeImage').attr('src');


    jQuery('#thumbs img').hover(function () {
        $large.attr('src', jQuery(this).attr('src').replace('thumb', 'large'));
        var altText =jQuery(this).attr("alt");

        //alert(jQuery(this).parent().text());
        var existsClass=$large.parent().children().hasClass("prodName");
        //alert(existsClass);
        if(existsClass)
            //$large.parent().children().remove(".prodName");
            $large.parent().find("div").remove(); 

$large.parent().append('<div class="prodName" style="margin-left:220px">'+jQuery(this).parent().text()+'<br/>'+altText+'</div>');

    }, function () {
        //on mouse leave put back the original value
        $large.attr('src', $large.data('src'));
    });
}

jQuery(document).ready(function () {
    jQuery(myFunction);
});

检查这个新代码

【讨论】:

  • 我将此添加到我的 Jquery 文件中,但我不断弹出一个说图像替代名称的弹出窗口。请检查一下:test.pillarsoflifebook.com/ottomans 我将 #largeimage 更改为 #largeimage2 和拇指一样,所以我现在只能在此页面上使用它。
  • 抱歉,是的,它正在报告正确的图像名称。
  • 那么你想让Popup中的值显示在图片的右侧吗?
  • 见。将样式修改为 =>
    并告诉我您还想要什么
  • :) 欢迎,并发布问题,所以我可以解决它。我的邮件 id nutandevjoshi@gmail.com,如果有任何问题,给我堆栈溢出链接,或者你有问题的网站链接。
【解决方案2】:

有几点需要考虑:-

  • 多张图片,并且有两张(或更多张)图片,每个维度一张。对于多个图像,明显的第一个缺点是页面将需要更长的时间来加载(至少在图像被缓存之前)。一种选择是立即加载需要的图像,然后在后台加载其他图像。

    现在,您也可以只拥有一个图像并允许浏览器为您缩放它。如果您这样做,那么您需要确保保留纵横比。其次,您可能希望跨浏览器和操作系统对其进行测试,因为有些人在这方面比其他人更好。

    您还可以将图像加载到画布中并自己进行一些裁剪和调整大小。

    最后一个转折点,取决于您想要支持的浏览器版本,您可以在 HTML 5 中使用可缩放矢量图形 (SVG)。我不会详细介绍,但 SVG 特别擅长缩放到不同的尺寸。请参阅 MDN 源 here

    网络上有很多关于调整大小的信息,作为示例,请参阅hereherehere

  • 图像中嵌入的文本。好吧,除非您想对浏览器无法完成的文本进行特别花哨的处理,否则我不建议这样做。每次要生成新的文本简介时,都需要生成新图像。每当客户说“我们可以将文本向左移动一点”时,您都需要创建一个新图像。更不用说对 SEO 的影响了。

  • 存储文本。您可以将文本放在 alt 标记中,只要它符合 alt tag 的意图。如果文本是对图像的描述,那么它可以放在 alt 标签中。如果它超出了对图像的描述范围并且支持文本,则将其放在单独的标题或范围中。

  • 显示/样式。这取决于您的客户喜欢什么,以及在遵循标准可用性指南的情况下看起来最好并与您的网站融合得最好的东西。通常这涉及反复试验,与您的客户坐下来决定他们喜欢什么。他们喜欢图片上方、上方或下方的文字吗?他们喜欢它立即显示、淡入、滑入、反弹、旋转、循环通过彩虹的颜色并爆炸吗?

【讨论】:

  • 谢谢阿卡隆。我不喜欢在图像中嵌入文本,因为我需要加载一组额外的图像(或在缩略图中隐藏同一图像的一部分),而且文本对图像中的 SEO 没有任何作用。我认为存储文本是最好的选择,但格式化它可能是一个问题。例如,我将如何列出产品名称,然后是尺寸,然后是描述?这可能是个问题。
猜你喜欢
相关资源
最近更新 更多
热门标签