gpt4 book ai didi

jquery - 响应式 iframe 轮播模式?

转载 作者:行者123 更新时间:2023-11-27 23:04:41 28 4
gpt4 key购买 nike

我想在我的 Tumblr 中添加一个基于弹出式/模式 div 的轮播(因为没有更好的术语——我不想要一个简单的图像轮播),它可以通过底部对齐的菜单导航,或者直接在模式或作为 iframe。由于无法找到以前一种方式构建它的资源,我选择了后者。虽然视口(viewport)单位似乎使待 iframed 页面通常正确地响应宽度(右偏移量增加,较大的 vw 无法修复),但当我调整源页面大小时或将其填充到最终模式,阻止我访问导航菜单。如何使 iframe 轮播正确地响应大小;或者有人可以指出构建弹出式 div 轮播的正确方法吗?这是一个JSFiddle对于我的困境,以及the iframed page (代码可通过 pastebin 访问)。

HTML:

<div id="main">
<ul id="nav">
<li class="changer changer1 active" data-slidey="1"><span>ITEM 1</span></li><!--
--><li class="changer changer2" data-slidey="2"><span>ITEM 2</span></li><!--
--><li class="changer changer3" data-slidey="3"><span>ITEM 3</span></li><!--
--><li class="changer changer4" data-slidey="4"><span>ITEM 4</span></li>
<li class="changer changer5" data-slidey="5"><span>ITEM 5</span></li>
</ul>

<div id="carousel" class="slidey1"><!--
--><div class="box">
<iframe frameborder="0" id="owl" scrolling="yes" src="URL" width="100%" height="100%"></iframe>
</div><!--
--><div class="box">
<iframe frameborder="0" id="owl" scrolling="yes" src="URL" width="100%" height="100%"></iframe>
</div><!--
--><div class="box">
<iframe frameborder="0" id="owl" scrolling="yes" src="URL" width="100%" height="100%"></iframe>
</div><!--
--><div class="box">
<iframe frameborder="0" id="owl" scrolling="yes" src="URL" width="100%" height="100%"></iframe>
</div><!--
--><div class="box">
<iframe frameborder="0" id="owl" scrolling="yes" src="URL" width="100%" height="100%"></iframe>
</div>
</div>
</div>

CSS:

        #main {
background:#fff;
border:1px solid #eaeaea;
height:100vw;
width:100vw;
text-align:center;
padding:25px;
font-family:'open sans', sans-serif;
font-size:11px;
overflow:hidden;
}
ul#nav {
padding:0;
margin:0;
list-style:none;
width:100vw;
position:absolute;
bottom:0vw;
padding-top:15px;
border-top:1px solid #eaeaea;
color:#222;
display:flex;
}
ul#nav li {
display:inline-block;
width:100px;
overflow:hidden;
line-height:20px;
font-size:11px;
text-transform:uppercase;
letter-spacing:1.1px;
cursor:pointer;
position:relative;
font-weight:bold;
flex:1;
}

[...]

#carousel {
width:500vw;
position:absolute;
top:10px;
text-align:left;
}
.slidey1 {
margin-left: 0vw;
-webkit-transition: all 0.3s linear;
-moz-transition: all 0.3s linear;
-o-transition: all 0.3s linear;
transition: all 0.3s linear;
}

/* my actual code contains 5 different slidey# classes, with the slidey number increasing by 1 (up
to .slidey4) and the margin-left decreasing by 100vw (down to -400vw) */

.box {
height:92vh;
padding:0 15px;
display:inline-block;
width:94.5vw;
vertical-align:top;
margin-right:25px;
text-align:center;
}

JS:

       (function($){ $(document).ready(function(){ $("[title],a[title],img[title]").style_my_tooltips({ tip_follows_cursor:true, tip_delay_time:100, tip_fade_speed:300, attribute:"title" }); }); })(jQuery);
$(document).ready(function() {
$(".changer").click(function(){
$("#carousel").removeClass();
$("#carousel").addClass("slidey" + $(this).data("slidey"));
$(".changer1, .changer2, .changer3, .changer4, .changer5").removeClass("active");
$(".changer" + $(this).data("slidey")).addClass("active");
return false;
});
$('ul.tags li a').on({
mouseenter: function() {
$(this).parent().addClass('hovered');
},
mouseleave: function() {
$(this).parent().removeClass('hovered');
}
});
})

谢谢!

最佳答案

所以如果我做对了,你想要在你制作的模态框内有一个好的旋转木马..

据我所知,您正在使用 JQuery 库。所以这里有一个用于制作旋转木马的响应式且简单的库,它叫做 Owl Carousel,我在我的元素中经常使用它。

Owl Carousel link

编辑:这是一个猫头鹰轮播的实例:

$('.owl-carousel').owlCarousel({
loop:true,
margin:10,
nav:true,
responsive:{
0:{
items:1
},
600:{
items:3
},
1000:{
items:5
}
}
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css" rel="stylesheet"/>

<div class="owl-carousel owl-theme">
<item>
<img src="https://picsum.photos/300" alt="">
</item>
<item>
<img src="https://picsum.photos/300" alt="">
</item>
<item>
<img src="https://picsum.photos/300" alt="">
</item>
<item>
<img src="https://picsum.photos/300" alt="">
</item>
<item>
<img src="https://picsum.photos/300" alt="">
</item>
<item>
<img src="https://picsum.photos/300" alt="">
</item>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>

编辑:

您可以通过编辑响应对象来更改您希望在任何屏幕上看到的元素数量,例如:

响应式:{ 0:{ 元素:1 }, 600:{ 元素:1 }, 1000:{ 元素:1 }

[Source/Docs]

关于jquery - 响应式 iframe 轮播模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58791605/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com