- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我制作了一个无限幻灯片,看起来像猫头鹰旋转木马“中心”(https://owlcarousel2.github.io/OwlCarousel2/demos/center.html)。
我的问题是,当第二张幻灯片与第一张幻灯片相距很远时,平滑的翻译会很长。
示例:translateX(-100px)
=> translateX(-1000px)
。我不知道在这里写什么JS。这是我在 codepen 中的代码(我希望当我点击翻译时会快速看起来像猫头鹰旋转木马,我不需要拖动事件)。
感谢您的帮助。
var init = 120;
var listSlide = document.getElementById('list-slide');
listSlide.style.width = 120*8 + 'px';
function slideFirst() {
var init = -120;
listSlide.style.transform = "translateX(" + init + "px)";
}
#list{
width: 480px;
height: 100px;
margin: 0 auto;
overflow: hidden;
}
.list-inner{
height: 100%;
transition: transform 0.25s ease;
}
.list-inner .item{
position: relative;
float: left;
width: 100px;
height: 100px;
background: red;
margin-right: 20px;
}
<div class="frame">
<div id="list">
<div id="list-slide" class="list-inner" style="transform: translateX(-720px)">
<div class="item">Item 01</div>
<div class="item">Item 02</div>
<div class="item">Item 03</div>
<div class="item">Item 04</div>
<div class="item">Item 05</div>
<div class="item">Item 06</div>
<div class="item">Item 07</div>
<div class="item">Item 08</div>
</div>
</div>
<button onclick="slideFirst()">Click</button>
</div>
我尝试删除过渡并在之后添加它,但它不起作用。
var trans = -100;// a some distance
listSlide.style.transition = "all 0.25s ease 0s";
setTimeout(function(){
listSlide.style.transition = "all 0s ease 0s";
listSlide.style.transform = 'translateX(' + trans + 'px)';
}, 10);
最佳答案
这是我为您提供的解决方案。我更改了 js 文件中的一些代码行并用注释分隔。希望对您有所帮助。
var init = 120;
var listSlide = document.getElementById('list-slide');
listSlide.style.width = 120*8 + 'px';
// My code starts here
var sliderWidthTracker = -(120*6);
function slideFirst() {
if (sliderWidthTracker < 0) {
sliderWidthTracker = sliderWidthTracker+120;
listSlide.style.transform = "translateX(" + sliderWidthTracker + "px)";
}
}
// My code ends here
#list{
width: 480px;
height: 100px;
margin: 0 auto;
overflow: hidden;
}
.list-inner{
height: 100%;
transition: transform 0.25s ease;
}
.list-inner .item{
position: relative;
float: left;
width: 100px;
height: 100px;
background: red;
margin-right: 20px;
}
<div class="frame">
<div id="list">
<div id="list-slide" class="list-inner" style="transform: translateX(-720px)">
<div class="item">Item 01</div>
<div class="item">Item 02</div>
<div class="item">Item 03</div>
<div class="item">Item 04</div>
<div class="item">Item 05</div>
<div class="item">Item 06</div>
<div class="item">Item 07</div>
<div class="item">Item 08</div>
</div>
</div>
<button onclick="slideFirst()">Click</button>
</div>
关于javascript - TranslateX 与其他距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982841/
我正在使用 css 属性 translateX 将 Sprite 围绕某个点旋转 360 度。 Sprite 按预期围绕该点旋转,但我想知道如何在 Sprite 旋转时获得“左”和“顶”值。使用 tr
我制作了一个无限幻灯片,看起来像猫头鹰旋转木马“中心”(https://owlcarousel2.github.io/OwlCarousel2/demos/center.html)。 我的问题是,当第
我用 CSS transform-translateX 编写了一个测试。动画有效,但对象不保持最终位置,返回到原始位置。 如何保持最终位置? 这里是 CSS: @-webkit-keyframes m
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-top
我正在尝试使用更多的 css 和更少的 Javascript 来制作动画。我遇到了动画三个不同盒子的问题。我通过添加 fadeShow 类使不透明度为 1,使框以不透明度淡入淡出。但是,我希望框看起来
我正在尝试构建一个照片 slider 。现在我不介意我做这件事的方式是否那么好。我想知道的是,为什么在我通过 jQuery 更改 TranslateX 值并将其打印到控制台后,它不会打印更改后的值?
我正在尝试为移动 webkit 创建一个图片库, 它实际上足够快的唯一方法是使用硬件加速的 translateX 。 我的问题是 div 在动画结束时收回了它的初始位置。我在左侧按钮上添加了 slid
body{ height: 100vh; display: flex; justify-content: center; align-items: center; } div {
$(document).ready(function() { var $window = $(window), $overlay = $('.example2'), rotatio
问题是,translateX 在动画之前没有改变它的位置。在示例中有问题的幻灯片是 #slide2,我在设置动画之前更改它的位置,但它仍然从错误的一侧设置动画。 如何解决该行为?使用 css left
TranslateX(-50%) 而不是将元素(.heading)放在中心,而是将它放在最左边 .heading { position: relative; top: 50%; left: 50%;
在我一直致力于开发的网站 (www.koa-de.nl) 上,我使用了以下代码来使导航栏居中: left: 50%; transform: translateX(-50%); 我使用它是因为 marg
我正在尝试将一组跨度元素(使用 ng-repeat 创建)推送到 x 轴上的某个计算位置。 这是在指令中完成的,其中每个元素的位置是根据一些启发式计算的。 但是,这些元素并未居中,而是左对齐。当存在需
我希望这个问题不要太具体,这样它就可以与其他问题相关... 我有两个元素,一个子元素和一个父元素,子元素使用 CSS 动画围绕父元素旋转。 月亮动画设置为使月亮在同一位置加载到行星顶部,但使用
我会获得如下效果:我可以通过 translateX 更改的全屏部分(从左到右)。 不幸的是,我第一次尝试移动整个包装器而不是它的内容: https://codepen.io/anon/pen/WPzB
我遇到了 translateX 属性的问题。 我希望导航菜单隐藏在右侧,当用户点击菜单图标时,导航 translateX 从右到左轻松过渡,当然导航菜单会在点击前隐藏。它以某种方式不起作用,这是代码:
这个问题在这里已经有了答案: Transform: translate(-50%, -50%) (2 个答案) How to apply multiple transforms in CSS? (
我正在尝试制作不同的类以进行对齐。 我希望能够像 class="left bottom" 使用 transform:translate 属性那样组合它。 问题是该属性正在被彼此覆盖。 如果您查看我的
我正在尝试在单击菜单项时为屏幕上的多个元素设置动画...除一个以外的所有动画都按需要工作。我想从右向左移动页面的主要内容(部分),而不是在其中滑动,只是出现而没有任何过渡。这是相关的 CSS 代码:
我想向右进行 5px 的短 translateX 过渡。我想我的显示器有问题。所有其他过渡都有效,只有这个无效... 这是我的代码: #content a.shake { display: inl
我是一名优秀的程序员,十分优秀!