Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 2滑动转盘初始化方法的问题_Javascript_Jquery_Asp.net Mvc_Asp.net Core Mvc_Slick.js - Fatal编程技术网

Javascript 2滑动转盘初始化方法的问题

Javascript 2滑动转盘初始化方法的问题,javascript,jquery,asp.net-mvc,asp.net-core-mvc,slick.js,Javascript,Jquery,Asp.net Mvc,Asp.net Core Mvc,Slick.js,我正在使用slick.js在同一页面上使用两个滑块。第一个滑块是页面的主要顶部横幅,第二个滑块是一个弹出窗口,用于显示产品图像和其他信息。另外,我正在使用.NET核心MVC,所以我决定使用部分视图来显示弹出的产品详细信息。所以问题是第二个滑块不能正常工作 Uncaught TypeError: Cannot read property 'add' of null at Object.e.initADA (<anonymous>:1:19335) at Object.e

我正在使用slick.js在同一页面上使用两个滑块。第一个滑块是页面的主要顶部横幅,第二个滑块是一个弹出窗口,用于显示产品图像和其他信息。另外,我正在使用.NET核心MVC,所以我决定使用部分视图来显示弹出的产品详细信息。所以问题是第二个滑块不能正常工作

Uncaught TypeError: Cannot read property 'add' of null
    at Object.e.initADA (<anonymous>:1:19335)
    at Object.e.init (<anonymous>:1:19101)
    at new <anonymous> (<anonymous>:1:2832)
    at r.fn.init.i.fn.slick (<anonymous>:1:42781)
    at HTMLDivElement.<anonymous> (<anonymous>:43:23)
    at Function.each (<anonymous>:2:2715)
    at r.fn.init.each (<anonymous>:2:1003)
    at <anonymous>:9:27
    at <anonymous>:170:3
    at p (jquery-3.2.1.min.js:2)
Uncaught TypeError:无法读取null的属性“add”
在Object.e.initADA(
产品清单
@Html.Hidden(“urlDetails”,Url.Action(“Details”,“Home”))
模式弹出窗口

@model Website.Models.ProductoView
@{
    Layout = null;
}

<div class="wrap-modal1 js-modal1 p-t-60 p-b-20">
    <div class="overlay-modal1 js-hide-modal1"></div>
    <div class="container">
        <div class="bg0 p-t-60 p-b-30 p-lr-15-lg how-pos3-parent">
            <button class="how-pos3 hov3 trans-04 js-hide-modal1">
                <img src="images/icons/icon-close.png" alt="CLOSE">
            </button>

            <div class="row">
                <div class="col-md-6 col-lg-7 p-b-30">
                    <div class="p-l-25 p-r-30 p-lr-0-lg">
                        <div class="wrap-slick3 flex-sb flex-w">
                            <div class="wrap-slick3-dots"></div>
                            <div class="wrap-slick3-arrows flex-sb-m flex-w"></div>
                            <div class="slick3 gallery-lb">
                                @{
                                    for (int i = 0; i < Model.images.Count(); i++)
                                    {
                                        <div class="item-slick3" data-thumb="@Url.Content(Model.images[i])">
                                            <div class="wrap-pic-w pos-relative">
                                                <img src="@Url.Content(Model.images[i])" alt="IMG-PRODUCT">

                                                <a class="flex-c-m size-108 how-pos1 bor0 fs-16 cl10 bg0 hov-btn3 trans-04" href="@Url.Content(Model.images[i])">
                                                    <i class="fa fa-expand"></i>
                                                </a>
                                            </div>
                                        </div>
                                    }
                                }
                            </div>
                        </div>
                    </div>
                    <!--Rest of the product info-->
                </div>
            </div>
        </div>
    </div>
</div>

<script src="/lib/vendor/jquery/jquery-3.2.1.min.js"></script>
<script src="/lib/vendor/slick/slick.min.js"></script>
<script src="js/slick-custom.js"></script>
<script>
    $('.gallery-lb').each(function () { // the containers for all galleries
        $(this).magnificPopup({
            delegate: 'a', // the selector for gallery item
            type: 'image',
            gallery: {
                enabled: true
            },
            mainClass: 'mfp-fade'
        });
    });
</script>
<script src="js/main.js"></script>
@model.Website.Models.ProductoView
@{
布局=空;
}
@{
对于(int i=0;i
js滑头控制装置

(function ($) {
    // USE STRICT
    "use strict";

        /*==================================================================
        [ Slick1 ]*/
        $('.wrap-slick1').each(function(){
            var wrapSlick1 = $(this);
            var slick1 = $(this).find('.slick1');


            var itemSlick1 = $(slick1).find('.item-slick1');
            var layerSlick1 = $(slick1).find('.layer-slick1');
            var actionSlick1 = [];
            

            $(slick1).on('init', function(){
                var layerCurrentItem = $(itemSlick1[0]).find('.layer-slick1');

                for(var i=0; i<actionSlick1.length; i++) {
                    clearTimeout(actionSlick1[i]);
                }

                $(layerSlick1).each(function(){
                    $(this).removeClass($(this).data('appear') + ' visible-true');
                });

                for(var i=0; i<layerCurrentItem.length; i++) {
                    actionSlick1[i] = setTimeout(function(index) {
                        $(layerCurrentItem[index]).addClass($(layerCurrentItem[index]).data('appear') + ' visible-true');
                    },$(layerCurrentItem[i]).data('delay'),i); 
                }        
            });


            var showDot = false;
            if($(wrapSlick1).find('.wrap-slick1-dots').length > 0) {
                showDot = true;
            }

            $(slick1).slick({
                pauseOnFocus: false,
                pauseOnHover: false,
                slidesToShow: 1,
                slidesToScroll: 1,
                fade: true,
                speed: 1000,
                infinite: true,
                autoplay: true,
                autoplaySpeed: 6000,
                arrows: true,
                appendArrows: $(wrapSlick1),
                prevArrow:'<button class="arrow-slick1 prev-slick1"><i class="zmdi zmdi-caret-left"></i></button>',
                nextArrow:'<button class="arrow-slick1 next-slick1"><i class="zmdi zmdi-caret-right"></i></button>',
                dots: showDot,
                appendDots: $(wrapSlick1).find('.wrap-slick1-dots'),
                dotsClass:'slick1-dots',
                customPaging: function(slick, index) {
                    var linkThumb = $(slick.$slides[index]).data('thumb');
                    var caption = $(slick.$slides[index]).data('caption');
                    return  '<img src="' + linkThumb + '">' +
                            '<span class="caption-dots-slick1">' + caption + '</span>';
                },
            });

            $(slick1).on('afterChange', function(event, slick, currentSlide){ 

                var layerCurrentItem = $(itemSlick1[currentSlide]).find('.layer-slick1');

                for(var i=0; i<actionSlick1.length; i++) {
                    clearTimeout(actionSlick1[i]);
                }

                $(layerSlick1).each(function(){
                    $(this).removeClass($(this).data('appear') + ' visible-true');
                });

                for(var i=0; i<layerCurrentItem.length; i++) {
                    actionSlick1[i] = setTimeout(function(index) {
                        $(layerCurrentItem[index]).addClass($(layerCurrentItem[index]).data('appear') + ' visible-true');
                    },$(layerCurrentItem[i]).data('delay'),i); 
                }
                         
            });

        });
        
        /*==================================================================
        [ Slick3 ]*/
        $('.wrap-slick3').each(function () {
            $(this).find('.slick3').not('.slick3-initialized').slick({
                slidesToShow: 1,
                slidesToScroll: 1,
                fade: true,
                infinite: true,
                autoplay: false,
                autoplaySpeed: 6000,

                arrows: true,
                appendArrows: $(this).find('.wrap-slick3-arrows'),
                prevArrow:'<button class="arrow-slick3 prev-slick3"><i class="fa fa-angle-left" aria-hidden="true"></i></button>',
                nextArrow:'<button class="arrow-slick3 next-slick3"><i class="fa fa-angle-right" aria-hidden="true"></i></button>',

                dots: true,
                appendDots: $(this).find('.wrap-slick3-dots'),
                dotsClass:'slick3-dots',
                customPaging: function(slick, index) {
                    var portrait = $(slick.$slides[index]).data('thumb');
                    return '<img src=" ' + portrait + ' "/><div class="slick3-dot-overlay"></div>';
                },  
            });
        });
            
                

})(jQuery);
(函数($){
//严格使用
“严格使用”;
/*==================================================================
[1]*/
$('.wrap-1')。每个(函数(){
var wrapSlick1=$(此值);
var slick1=$(this.find('.slick1');
var itemsick1=$(slick1.find('.item-slick1');
var layerSlick1=$(slick1.find('.layer-slick1');
var=1=[];
$(slick1.on('init',function()){
var layerCurrentItem=$(itemSlick1[0])。查找('.layer-slick1');

对于(var i=0;i,这里有一个演示,演示如何在模式中使用幻灯片(模式来自部分视图):

产品视图:

public class ProductoView
    {
        public List<string> images { get; set; }
    }
公共类产品视图
{
公共列表图像{get;set;}
}
控制器:

public class TestSlickController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
        public IActionResult TestPartialView()
        {
            ProductoView p = new ProductoView();
            p.images = new List<string> { "~/images/green.PNG", "~/images/red.PNG", "~/images/yellow.PNG" };
            return PartialView("Partial",p);
        }
    }
公共类TestSlickController:控制器
{
公共IActionResult索引()
{
返回视图();
}
公共IActionResult TestPartialView()
{
ProductoView p=新的ProductoView();
p、 images=新列表{“~/images/green.PNG”、“~/images/red.PNG”、“~/images/yellow.PNG”};
返回部分视图(“部分”,p);
}
}
索引:

<h1>Index</h1>
<div class="slickdemo1">
    <div class="holder">your content1</div>
    <div class="holder">your content2</div>
    <div class="holder">your content3</div>
</div>
<div id="testmodal" style="width:500px">
</div>

<button onclick="showDetailsModal()">click</button>
@section scripts{
    <script>
        $(function () {
            $('.slickdemo1').slick({
                infinite: true,
                arrows: true
            });
        })
        function showDetailsModal() {
            //using get to display the modal in the parent view div
            $.get("/TestSlick/TestPartialView", function (data) {
                $('#testmodal').html(data);
                
                $('#exampleModalCenter').modal('show');
                $('.slickdemo').slick({
                    infinite: true,
                    slidesToShow: 1,
                    slidesToScroll: 1
                });
                $('#btnClose').on('click', function () {
                    $('#exampleModalCenter').modal('toggle');
                });      
            })

        }
    </script>
}
<style>
    .holder {
        height: 150px;
        background: gray;
        border: 1px dashed #000;
        color: #fff;
        text-align: center;
    }
</style>
索引
你的内容1
你的内容2
你的内容3
点击
@节脚本{
$(函数(){
$('.slickdemo1')。光滑({
无限:是的,
箭头:对
});
})
函数showDetailsModal(){
//使用get在父视图div中显示模式
$.get(“/TestSlick/TestPartialView”,函数(数据){
$('#testmodal').html(数据);
$('exampleModalCenter').modal('show');
$('.slickdemo')。光滑({
无限:是的,
幻灯片放映:1,
幻灯片滚动:1
});
$('#btnClose')。在('click',函数(){
$('exampleModalCenter').modal('toggle');
});      
})
}
}
.持有人{
高度:150像素;
背景:灰色;
边框:1px虚线#000;
颜色:#fff;
文本对齐:居中;
}
部分:

<div class="modal fade" id="exampleModalCenter" role="dialog">

        <div class="container">
            <div class="row">
                <div class="modal-dialog modal-dialog-centered" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h4>Show</h4>
                        </div>
                        <div class="modal-body" style="width:500px">
                            Here is a slick
                            <div class="slickdemo">
                                @for (int i = 0; i < Model.images.Count(); i++)
                                {
                                    <div class="holder"><img src="@Url.Content(Model.images[i])"></div>
                                }
                                
                            </div>
                            
                        </div>
                        <div class="modal-footer">
                            <button id="btnClose">Close</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

显示
这是一张光滑的支票
@对于(int i=0;i
结果:

<h1>Index</h1>
<div class="slickdemo1">
    <div class="holder">your content1</div>
    <div class="holder">your content2</div>
    <div class="holder">your content3</div>
</div>
<div id="testmodal" style="width:500px">
</div>

<button onclick="showDetailsModal()">click</button>
@section scripts{
    <script>
        $(function () {
            $('.slickdemo1').slick({
                infinite: true,
                arrows: true
            });
        })
        function showDetailsModal() {
            //using get to display the modal in the parent view div
            $.get("/TestSlick/TestPartialView", function (data) {
                $('#testmodal').html(data);
                
                $('#exampleModalCenter').modal('show');
                $('.slickdemo').slick({
                    infinite: true,
                    slidesToShow: 1,
                    slidesToScroll: 1
                });
                $('#btnClose').on('click', function () {
                    $('#exampleModalCenter').modal('toggle');
                });      
            })

        }
    </script>
}
<style>
    .holder {
        height: 150px;
        background: gray;
        border: 1px dashed #000;
        color: #fff;
        text-align: center;
    }
</style>
<div class="modal fade" id="exampleModalCenter" role="dialog">

        <div class="container">
            <div class="row">
                <div class="modal-dialog modal-dialog-centered" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <h4>Show</h4>
                        </div>
                        <div class="modal-body" style="width:500px">
                            Here is a slick
                            <div class="slickdemo">
                                @for (int i = 0; i < Model.images.Count(); i++)
                                {
                                    <div class="holder"><img src="@Url.Content(Model.images[i])"></div>
                                }
                                
                            </div>
                            
                        </div>
                        <div class="modal-footer">
                            <button id="btnClose">Close</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>