Slick.js不适用于Google Maps API中的infoBox.js

骨化

我正在尝试在Google Maps API的infoBox.js(或默认的infoWindow)中实现轮播。轮播由slick.js插件提供动力

据我所知,我的代码看起来不错,因为控制台中没有错误。我很难找到问题所在。

谁能提出解决方案?谢谢你。我的完整代码段如下,但这是我为主要组件(infoBox,slick.js,jQuery UI)订购代码的方式。

// Set infoBox Content
var boxText = document.createElement("div");
boxText.innerHTML =
    '<div class="stack">' +
    '<div class="boxes">' +
    '<h1>1</h1>' +
    '<div class="slider"></div>' +
    '</div>' +
    '<div class="boxes">' +
    '<h1>2</h1>' +
    '</div>' +
    '<div class="boxes">' +
    '<h1>3</h1>' +
    '</div>' +
    '</div>' +
    '</div>';

// Initialize slick.js plugin
$('.stack').slick({
    centerMode: true,
    centerPadding: '80px',
    arrows: false,
    variableWidth: true,
    dots: true,
    swipeToSlide: true,
    focusOnSelect: true
});

// Intialize jQuery UI Slider
$('.slider').slider({
    max: 100,
    min: 0,
    value: 95
});

// Open infoBox when marker is clicked
google.maps.event.addListener(marker, 'click', function () {
    infoBubble.open(map, marker);
});

var boxText = document.createElement("div");
boxText.innerHTML =
    '<div class="stack">' +
    '<div class="boxes">' +
    '<h1>1</h1>' +
    '<div class="slider"></div>' +
    '</div>' +
    '<div class="boxes">' +
    '<h1>2</h1>' +
    '</div>' +
    '<div class="boxes">' +
    '<h1>3</h1>' +
    '</div>' +
    '</div>' +
    '</div>';

$('.stack').slick({
    centerMode: true,
    centerPadding: '80px',
    arrows: false,
    variableWidth: true,
    dots: true,
    swipeToSlide: true,
    focusOnSelect: true
});

$('.slider').slider({
    max: 100,
    min: 0,
    value: 95
});

var myOptions = {
    content: boxText,
    disableAutoPan: false,
    alignBottom: true,
    pixelOffset: new google.maps.Size(-126, -48),
    zIndex: null,
    infoBoxClearance: new google.maps.Size(1, 1),
    isHidden: false,
    pane: "floatPane",
    enableEventPropagation: false
};
infoBubble = new InfoBox(myOptions);

function initialize() {
    var mapOptions = {
        zoom: 11,
        minZoom: 11,
        maxZoom: 15,
        disableDefaultUI: true,
        center: new google.maps.LatLng(51.0333246, -114.0581015)
    };
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    var marker = new google.maps.Marker({
        map: map,
        draggable: true,
        position: new google.maps.LatLng(51.0333246, -114.0581015),
        visible: true
    });
    google.maps.event.addListener(marker, 'click', function () {
        infoBubble.open(map, marker);
    });
}

google.maps.event.addDomListener(window, 'load', initialize);
html, body, #map-canvas {
    height: 100%;
    padding: 0;
    margin: 0;
}
.infoBox {
    height: 200px;
    width: 200px;
    background: #fff;
    padding: 1em;
}
.boxes {
    height: 250px;
    width: 175px;
    display: inline;
    margin: 1em;
    background: #ccc;
    text-align: center;
    font-weight: bold;
    display: table;
    border: 2px solid transparent;
    border-radius: 4px;
}
.slick-slide {
    text-align: center;
    cursor: pointer;
    transform: scale(0.9);
}
.slick-center {
    background: #fff;
    border: 2px solid #ccc;
    transition: all 0.5s;
    transform: scale(1);
}
h1 {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    height: 190px;
    padding: 0 78px;
    margin: 0 auto;
}
.slider {
    width: 120px;
    margin: 0 auto;
}
h2 {
    font-size: 0.850em;
    text-transform: uppercase;
}
a:link {
    color: #0266C8;
    text-decoration: none;
}
<link href="http://cdn.jsdelivr.net/jquery.slick/1.4.1/slick.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false&.js"></script>
<script src="http://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.9/src/infobox_packed.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.slick/1.4.1/slick.min.js"></script>
<div id="map-canvas"></div>

骨化

我添加了一个addListenerOncefordomready事件以将slick.js插件加载到infoWindow中:

google.maps.event.addListenerOnce(infoBubble, 'domready', function () {
    $('.stack').slick({
        centerMode: true,
        centerPadding: '80px',
        arrows: false,
        variableWidth: true,
        dots: false,
        swipeToSlide: true,
        focusOnSelect: true
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

Slick.js appendarrows不适用于多个轮播

来自分类Dev

Slick.js 不适用于 Polymer 2.0

来自分类Dev

Google Maps API RadarSearch不适用于伦敦

来自分类Dev

延迟属性不适用于Google Maps API?

来自分类Dev

触摸事件不适用于Angular中的Google Maps

来自分类Dev

Html2canvas 不适用于 angular.js 中的 Google 折线图

来自分类Dev

API适用于浏览器,而不适用于JS

来自分类Dev

$lookup 不适用于 Node.js 中的 $match

来自分类Dev

Google Maps API密钥不适用于所有环境

来自分类Dev

Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

来自分类Dev

Node.js API-适用于Postman,但不适用于Angular.js

来自分类Dev

更改jQuery中的复选框不适用于文本!主干.js中的模板

来自分类Dev

jQuery更改事件不适用于输入:Handlebars.js模板中的单选按钮

来自分类Dev

app.js中的控制器不适用于离子项目

来自分类Dev

刷新不适用于React JS中的子菜单路径

来自分类Dev

v-tooltip中的HTML img标签不适用于vue.js

来自分类Dev

CSS不适用于使用JS脚本动态添加到页面中的HTML内容

来自分类Dev

Vue.js中的watcher不适用于道具价值

来自分类Dev

模拟请求对象不适用于node.js中的测试

来自分类Dev

为什么css不适用于Angular js中的表单

来自分类Dev

Angular JS中的fieldset ng-disabled不适用于按钮

来自分类Dev

动态下拉列表不适用于Angular JS中的提交

来自分类Dev

reslover函数不适用于Node.js中的Promise对象

来自分类Dev

angular js模块中的控制器功能不适用于删除操作

来自分类Dev

_Layout.cshtml 中引用的 JS 文件/函数不适用于其他视图

来自分类Dev

带有fabric js的画布中的新图像不适用于chrome

来自分类Dev

函数不适用于 React.js 中的 onClick 事件

来自分类Dev

Enter 和 Backspace 不适用于 React 中的 Slate.js 编辑器

Related 相关文章

  1. 1

    Slick.js不适用于Google Maps API中的infoBox.js

  2. 2

    Slick.js appendarrows不适用于多个轮播

  3. 3

    Slick.js 不适用于 Polymer 2.0

  4. 4

    Google Maps API RadarSearch不适用于伦敦

  5. 5

    延迟属性不适用于Google Maps API?

  6. 6

    触摸事件不适用于Angular中的Google Maps

  7. 7

    Html2canvas 不适用于 angular.js 中的 Google 折线图

  8. 8

    API适用于浏览器,而不适用于JS

  9. 9

    $lookup 不适用于 Node.js 中的 $match

  10. 10

    Google Maps API密钥不适用于所有环境

  11. 11

    Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

  12. 12

    Node.js API-适用于Postman,但不适用于Angular.js

  13. 13

    更改jQuery中的复选框不适用于文本!主干.js中的模板

  14. 14

    jQuery更改事件不适用于输入:Handlebars.js模板中的单选按钮

  15. 15

    app.js中的控制器不适用于离子项目

  16. 16

    刷新不适用于React JS中的子菜单路径

  17. 17

    v-tooltip中的HTML img标签不适用于vue.js

  18. 18

    CSS不适用于使用JS脚本动态添加到页面中的HTML内容

  19. 19

    Vue.js中的watcher不适用于道具价值

  20. 20

    模拟请求对象不适用于node.js中的测试

  21. 21

    为什么css不适用于Angular js中的表单

  22. 22

    Angular JS中的fieldset ng-disabled不适用于按钮

  23. 23

    动态下拉列表不适用于Angular JS中的提交

  24. 24

    reslover函数不适用于Node.js中的Promise对象

  25. 25

    angular js模块中的控制器功能不适用于删除操作

  26. 26

    _Layout.cshtml 中引用的 JS 文件/函数不适用于其他视图

  27. 27

    带有fabric js的画布中的新图像不适用于chrome

  28. 28

    函数不适用于 React.js 中的 onClick 事件

  29. 29

    Enter 和 Backspace 不适用于 React 中的 Slate.js 编辑器

热门标签

归档