jQuery.Lazy和引导选择吗?

问题描述

我使用bootstrap-select在select中加载图像,例如:

img {width:32px; margin-right:10px;}
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" rel="stylesheet"/>

<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css" rel="stylesheet"/>

<select class="selectpicker">
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Relish">Relish</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text">Text</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text2">Text2</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Relish">Relish</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text">Text</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text2">Text2</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Relish">Relish</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text">Text</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text2">Text2</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Relish">Relish</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text">Text</option>
  <option data-content="<img src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' />Text2">Text2</option>
</select>

由于我有很多图像,所以我希望将它们作为延迟加载。我安装了jQuery.Lazy.js,但是它不适用于select的图像。

$(function() {
  $('.lazy').lazy(
{
        effect: "fadeIn",effectTime: 2000,threshold: 0,onError: function(element) {
            console.log('Error loading ' + element.data('src'));
        }
  });
});

$('#mySelect').on('shown.bs.select',function (e,clickedindex,isSelected,prevIoUsValue) {
  $(function() {
        $('.lazy').Lazy();
    });
});

我做错了什么,或者您知道任何其他方法将图像加载为惰性加载吗?

注意:延迟加载对select以外的图像起作用。

这是安装延迟加载的示例:

$(function() {
  $('.lazy').lazy(
{
        effect: "fadeIn",prevIoUsValue) {
  $(function() {
        $('.lazy').Lazy();
    });
});
img {width:32px; margin-right:10px;}
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" rel="stylesheet"/>

<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css" rel="stylesheet"/>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.9/jquery.lazy.min.js"></script>


<select class="selectpicker">
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Relish">Relish</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text">Text</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text2">Text2</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Relish">Relish</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text">Text</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text2">Text2</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Relish">Relish</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text">Text</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text2">Text2</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Relish">Relish</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text">Text</option>
  <option data-content="<img data-src='https://icon-library.com/images/facebook-icon-png-32x32/facebook-icon-png-32x32-3.jpg' class='lazy' />Text2">Text2</option>
</select>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)