- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
好的,所以如果我不向 .slide
类添加过渡属性,这个示例就可以正常工作。如果我添加此过渡属性,则通过 jquery 设置的 right
属性不会按预期工作。加减太多了。
代码如下:
$(function(){
$("#with-transition").click(function() {
$(document.body).toggleClass("with-transition", this.value);
}).trigger("click");
var curSlide = 0;
$('.arrow-left').click(function(){
var $slideContainer = $('.slides');
var $slide = $slideContainer.find('.slide');
curSlide++;
if(curSlide === $slide.length){
$slide.css({"right":"-=200%"});
curSlide = 0;
} else {
$slide.css({"right":"+=100%"});
}
});
})
html, body {
width: 100%;
height: 100%;
overflow: hidden;
background-color: #efefef;
position: relative;
}
.container {
width: 600px;
height: 300px;
background-color: #17A05E;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.slides {
width: 100%;
height: 100%;
position: relative;
}
body.with-transition .slide {
-webkit-transition: all 400ms ease-in;
transition: all 400ms ease-in;
}
.slide1, .slide2, .slide3 {
width: 600px;
height: 200px;
position: absolute;
}
.slide1 {
background-color: #DD4E42;
right: -200%;
}
.slide2 {
background-color: #DF6026;
right: -100%;
}
.slide3 {
background-color: #F1990D;
right: 0;
}
.nav {
position: absolute;
left: 0;
right: 0;
top: 50%;
z-index: 1000;
}
.nav .arrow-left, .nav .arrow-right {
width: 50px;
height: 50px;
background-color: rgba(255, 255, 255, 0.4);
position: absolute;
-webkit-transition: all 200ms ease-in-out;
transition: all 200ms ease-in-out;
}
.nav .arrow-left {
left: 0;
}
.nav .arrow-right {
right: 0;
}
.arrow-left:hover, .arrow-right:hover {
background-color: rgba(255, 255, 255, 0.9);
}
<label><input type="checkbox" id="with-transition"> Include transition</label>
<div class="container">
<div class="slides">
<div class="slide slide1"></div>
<div class="slide slide2"></div>
<div class="slide slide3"></div>
</div>
<div class="nav">
<div class="arrow-left"></div>
<div class="arrow-right"></div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
当您单击左下方较浅的橙色框时,就会发生转换。为了检查差异,在勾选和不勾选复选框的情况下都尝试一下,这决定了是否包含过渡。现在,我想要的是,如何使这段代码在有过渡的情况下工作,就像它在没有过渡的情况下工作一样。
最佳答案
所以,我无法用百分比解决这个问题。如果我在正确的属性中使用像素而不是百分比,那么它可以很好地处理过渡,否则它会向正确的属性添加太多内容。
但我现在所做的是使用 transform: translate(x,y)
属性来解决这个问题。
它按预期和我想要的方式工作。除了相对于它的位置移动它之外,我创建了一个名为 xPos
的新变量,并赋予它 100
的值,并在我的 translate (x) 属性中使用了这个变量。
这是这个较新版本的 Jquery:
$(function(){
var curSlide = 0;
var xPos = 100;
$('.arrow-left').click(function(){
var $slideContainer = $('.slides');
var $slide = $slideContainer.find('.slide');
curSlide++;
if(curSlide === $slide.length){
$slide.css({'transform':'translate('+(xPos-xPos)+'%, 0)'});
curSlide = 0;
xPos = 100;
} else {
$slide.css({'transform':'translate(-'+xPos+'%, 0)'});
xPos = xPos + 100;
}
});
});
尽管如此,如果有人知道为什么当我在正确的属性上使用百分比以及 css 转换时会出现这种奇怪的行为,我会非常乐意知道!
关于javascript - 添加 Transition 正在更改 Jquery 设置的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38812705/
尝试添加动画以替换 fragment 时抛出该异常。根据这个答案,stackoverflow ,过渡框架不能应用于 fragment ,但这篇文章表明你可以 How to use Material T
还有其他一些类似的问题,但都涉及 Android 支持库。我正在使用新的 androidx 库。 将 androidx 生命周期依赖项从 2.2.0-alpha03 更新到 2.2.0-alpha04
这个问题在这里已经有了答案: What is an optional value in Swift? (15 个答案) When two optionals are assigned to an i
Tailwind 提供了多个实用程序来控制哪些 CSS 属性转换,在这些属性中有 transition 和 transition-all。 我去检查了两个类的 CSS 属性,这里它们的顺序相同。 tr
Tailwind 提供了多个实用程序来控制哪些 CSS 属性转换,在这些属性中有 transition 和 transition-all。 我去检查了两个类的 CSS 属性,这里它们的顺序相同。 tr
这是一个由两部分组成的问题: 哪种应用样式优先:CSS 中的 -webkit-transition 规则或 jQuery 中类似的 $.css() 方法? 如果我还在 jQuery 中使用 .css
我想知道为什么在 FireFox 中使用 transition: all 0.5s ease-out; 时我会看到元素上的闪烁效果(截至本文撰写时的最新版本)。很难解释,但请在此处查看实际示例:htt
我对 css3 过渡属性的渲染速度有疑问。 假设我有一些元素: div, span, a {transition: all} div {margin: 2px} span {opacity: .5}
我对 css3 过渡属性的渲染速度有疑问。 假设我有一些元素: div, span, a {transition: all} div {margin: 2px} span {opacity: .5}
我目前正在用 Html 制作我的第一个网站,javascript 作为前端将首先出现。 我正在尝试创建一个折叠侧边栏,当我单击顶部导航右侧的按钮时会出现该侧边栏,但我对过渡效果有疑问,因为它会将所有内
我有一个 Activity ,一次托管一个 fragment ,并在两个 fragment 之间交换。 fragment A 使用按钮启动 fragment B, fragment B 使用按钮或后退
我正在尝试创建一种效果: 光标悬停在一个框上 横杆滑出 随着滑动 Action 缓和,标题出现 光标离开方框 随着栏向后滑动,标题开始消失 横杆完成向后滑动 但是,当光标离开框时,会再次调用延迟,因此
让我提供一些背景信息:我正在构建一个选项卡式应用程序,允许用户查找和查看我们服务器上托管的一些视频。每个选项卡都以不同的方式对视频进行分组,导航栏中有一个分段控件,用户可以使用该控件更精确地对列表进行
原始问题...更新了以下工作代码: 我有一个在 ajax 加载事件期间出现的加载图像。图像通过向 body 元素添加或删除“加载”类来显示/隐藏。目前,加载图像将背景大小设置为从 0% 到 100%
我对 css3 过渡属性的渲染速度有疑问。 假设我有一些元素: div, span, a {transition: all} div {margin: 2px} span {opacity: .5}
当我继续学习前端开发和练习 Sass 优化我的 CSS 代码时,我又遇到了另一种情况。 在互联网上进行研究和教程后,我在 Sass 中设置了名为“transition”的全局混合。代码如下所示: @m
关于 Chrome 和 css 转换的问题太多了,我不确定以前是否有人问过这个问题。 我的情况是这样的:我的布局基本上是左右分页。右侧的一框内容需要显示在左侧的内容之上(这个我没有发言权,桌面和移动之
我在两个 Activity 之间的共享元素中使用了自定义 Transition。 我的转换不起作用,因为 TransitionValues 参数在 captureStartValues 和 这两种方法
我在 google Chrome 和 Safari 上运行我的应用程序,两者都兼容 webkit。我正在使用 -webkit-transition 构建一个滚动的 div。 当我将文档类型指定为 HT
以下代码在 chrome 中产生了预期的结果,即;直接向所有元素添加过渡延迟。 $('.front-nav .sub-menu').each(function() { var transiti
我是一名优秀的程序员,十分优秀!