当前位置: 首页 > 知识库问答 >
问题:

根据变体颜色更改产品图像

东门玺
2023-03-14

我的目标的在线示例:

我试图在分类页面上显示自行车产品。每个产品上都有一种不同的边框颜色,我用圆形div来显示。

当我点击一种颜色时,图像应该会发生变化,正如你在专业网站上看到的那样:(产品图像下方)专业示例。

我自己的网站

您可以在这里看到我自己的示例:我自己的网站示例(向下滚动,直到您看到具有多个产品的产品)。

我的目标功能:

当我单击绿色div时,我想显示图片2,当我单击红色div时,我想看到图片3,但默认情况下,它将始终是冷杉

  • 第一个颜色=第一个图像
  • 第二个颜色=第二个图像
  • 等等

我的超文本标记语言:

<div class="frameColors">
    <div class="frameColor" data-color="#95BD40" style="background-color:#95BD40"></div>
    <div class="frameColor" data-color="#000000" style="background-color:#000000"></div>
    <div class="frameColor" data-color="#C6352D" style="background-color:#C6352D"></div>
</div>
<a href="/produkter/cykler/mountain-bikes/specialized/epic-hardtails/epic-hardtail/">
    <div class="categoryImage" data-frame-color="95BD40">
        <img src="/media/1072/165519.jpg?anchor=center&amp;mode=crop&amp;width=500&amp;height=350&amp;rnd=131200748910000000" class="productImage">
    </div>
    <div class="categoryImage" data-frame-color="000000">
        <img src="/media/1071/165518.jpg?anchor=center&amp;mode=crop&amp;width=500&amp;height=350&amp;rnd=131200746750000000" class="productImage">
    </div>
    <div class="categoryImage" data-frame-color="C6352D">
        <img src="/media/1073/166762.jpg?anchor=center&amp;mode=crop&amp;width=500&amp;height=350&amp;rnd=131200749050000000" class="productImage">
    </div>
</a>

本人姓名:

  var imageIds = item.GetPropertyValue<string>("productImages").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
  var images = Umbraco.Media(imageIds);

     <div class="frameColors">
                @foreach (var bikeColor in images)
                {
                    var color = bikeColor.GetPropertyValue("frameColor");

                    <div class="frameColor" data-color="#@color" style="background-color:#@color"></div>
                }
            </div>

            <a href="@item.Url">
                @foreach (var img in images)
                {        
                    <div class="categoryImage" data-frame-color="@img.GetPropertyValue("frameColor")">
                        <img src="@img.GetCropUrl("product image")" class="productImage" />
                    </div>
                }
            </a>

共有1个答案

林念
2023-03-14

根据Adeneo的回复,我设法修改了一点代码,使其按我想要的方式运行。

首先,我添加了一个css行:.分类图像{显示:无;}以隐藏所有产品图像。

然后,我根据Adeneo的回复添加了脚本。我从定位. frameColordiv的每一个开始,在其中,我添加了以下行来显示第一张图像:分类mage.first(). show();

如果不包括CSS行,默认情况下将显示所有产品图像,因此有必要隐藏所有图像,并在脚本中显示第一个图像。

    $(function () {
    $(".frameColor").each(function () {
        var categoryImage = $(this).parent("div").next("a").find(".categoryImage");
        categoryImage.first().show();

        if ($(categoryImage).length > 1) {

            $(this).on('click', function () {
                var color = $(this).data('color').replace('#', '');

                $(categoryImage).hide().filter(function () {
                    return $(this).data('frame-color') === color;
                }).show();
            });
        }
        else {
            $(this).hide();
        }
    });
});

Adeneo提供了原始脚本。

 类似资料:
  • 问题内容: 我正在使用AngularJS,并用于循环并在页面中显示详细信息。 是否可以根据该值更改字体颜色? 这里的值可以是Error,Warning或Ignored 。我可以通过angular或css为这些状态显示不同的字体颜色吗? 问题答案: 您可以使用以下代码实现此目的: 您的CSS类在哪里。 看到它在plunker。 查看有关ng-class的文档。

  • 问题内容: 我正在使用json数据创建列类型图。这是我调用的JS函数,用于使用ajax调用获取数据并绘制图表。 如果计数大于特定值(例如10),我希望能够在一天中修改条形的颜色。 这就是json输入到函数的方式。 任何建议我该怎么做? 问题答案: 您可以使用颜色区域(API)根据列的值来具有不同的颜色。 值低于/高于10的示例具有不同的颜色(JSFiddle):

  • 我已经找了好几天的stack overflow来寻找这个问题的答案,但是我一辈子都找不到答案:-/ 在我的搭载Android O的三星S6上,像Gmail这样的应用在状态栏上有白色的通知,但当你拉下通知查看它们时,会有红色/蓝色/绿色/任何通知。例如,请参见附上的照片--当显示通知时,Gmail为红色,而在通知栏中为白色。 要实现这一点,你必须使用什么类型的Android编程魔法?更具体地说,在n

  • 本文向大家介绍iOS 更改图像的颜色,包括了iOS 更改图像的颜色的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我从服务器接收图像,然后根据用户选择的颜色,图像颜色将发生变化。 我尝试了以下方法: 我得到了与我的目标相反的结果(UIImage外部的白色是用所选颜色着色的)。 出了什么问题? 在这个问题上我也需要这样做,提供的解决方案不能解决我的问题。如何更改iOS和WatchKit中的图像颜色

  • 问题内容: 是否有CSS属性可根据以下图片反转相关内容? 问题答案: 有一个CSS属性叫做mix-blend-mode,但是IE不支持。我建议使用伪元素。如果您想支持IE6和IE7,则还可以使用两个DIV代替伪元素。