【问题标题】:Laravel (PHP) and Owl Carousel IssuesLaravel (PHP) 和 Owl Carousel 问题
【发布时间】:2018-05-27 00:56:44
【问题描述】:

我正在尝试使用 Owl Carousel 为我的 Laravel 项目创建产品图片库。存储在“图像”列下的数据库中的主图像在主图像和缩略图库中都显示得很好。目前,缩略图库被错误地重复填充了“图像”列中的图像,而应该同时从“图像”列和“图像”列中的图像填充。

我已经编写了 HTML/CSS/PHP/等。试图完成上述任务,但我没有任何运气(同样,我只是不断地从缩略图库的“图像”列中获得图像的重复)。这是适用的代码:

<div class="product-images col-lg-6">
        <div data-slider-id="1" class="owl-carousel items-slider owl-drag">
          <div class="item">
            <img src="{{ productImage($product->image) }}" alt="product" id="currentImage">
          </div>
        </div>

        <div data-slider-id="1" class="owl-thumbs d-flex align-items-center justify-content-center">
          <button class="owl-thumb-item">
            <img src="{{ productImage($product->image) }}" alt="product">
          </button>

          @if ($product->images)
            @foreach (json_decode($product->images, true) as $image)
              <button class="owl-thumb-item">
                <img src="{{ productImage($product->image) }}" alt="product">
              </button>
            @endforeach
          @endif
        </div>
      </div>

脚本“我”写道:

<script>
  (function(){
    const currentImage = document.querySelector('#currentImage');
    const images = document.querySelectorAll('.owl-thumb-item');

    images.forEach((element) => element.addEventListener('click', thumbnailClick));

    function thumbnailClick(e) {
      currentImage.src = this.querySelector('img').src;
    }
  })();
</script>

关于我可能做错了什么有什么建议吗?我尝试了故障排除、不同的变体以及走开/回来,但没有运气。

【问题讨论】:

  • 你能发布一些它是如何破坏的图片吗?此外,任何错误控制台消息?
  • 完成。此外,单击缩略图库中的图像不会更改主滑块图像(尽管我可能无法区分差异,因为所有图像都相同)。谢谢!
  • 有什么想法吗?不知何故,主图像和缩略图图像都没有更新,尽管代码确实识别出总共有 7 个图像。

标签: javascript php laravel laravel-5 owl-carousel


【解决方案1】:

在您的第二个 productImage 函数调用中,您传递的是 $product-&gt;image,它指的是您的主图像。你只想通过$image 喜欢:

productImage($image)

【讨论】:

  • 太棒了,谢谢!现在所有缩略图都是正确的,但是当单击缩略图时,它不会更新更大的图像。我会看看我是否能弄清楚,如果我再次卡住,我会回来。非常感谢您的帮助!
  • 不用担心。轮播总是很难工作!
  • 问题现已完全解决。我必须在第一个滑块(不仅仅是缩略图区域)中添加一个带有嵌套 foreach 循环的 if 循环。我还需要 @yield('extra-js') 在我的 layout.blade.php 中。感谢您的帮助!
  • 谢谢!我能问一下您对产品变化方法的看法吗?比如说,我有一种产品可以有多种口味,或者一种产品可以有多种尺寸,或者两者兼而有之。我应该创建一个名为 flavor 的表和一个名为 sizes 的表,然后定义一个一对多的关系还是有更好的方法来做到这一点?谢谢!
  • 这确实是一个棘手的问题。如果口味/大小涉及其他属性,那么我会说是,如果没有,我会说枚举或类似的就足够了
猜你喜欢
  • 1970-01-01
  • 2017-12-12
  • 1970-01-01
  • 2020-05-05
  • 2016-02-14
  • 1970-01-01
  • 2014-12-06
  • 2019-07-09
  • 2016-03-20
相关资源
最近更新 更多