- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个包含图像的黑色背景 div。
<div id="Banner">
<img onclick="expand();" src="hola.jpg">
</div>
#Banner {
position:relative;
height:50px;
width:50px;
margin:0 auto;
background-color:#000000;
-webkit-transition: all 0.5s ease-in-out 0.5s;
-moz-transition: all 0.5s ease-in-out 0.5s;
-o-transition: all 0.5s ease-in-out 0.5s;
transition: all 0.5s ease-in-out 0.5s;
}
<script type="text/javascript">
function expand(){
document.getElementById('Banner').style['height'] = '250';
document.getElementById('Banner').style['width'] = '250';
}
</script>
所以当用户点击图片时,div 会转换为 250, 250。
我的问题是,我想让它过渡到全屏。以下javascript功能确实扩展到全屏,但过渡效果没有出现。我需要在没有 jquery 的情况下通过 javascript 代码来完成。
function expand(){
document.getElementById('Banner').style['position'] = 'absolute';
document.getElementById('Banner').style['height'] = '100%';
document.getElementById('Banner').style['width'] = '100%';
document.getElementById('Banner').style['top'] = '0';
document.getElementById('Banner').style['left'] = '0';
}
请指教。
更新:解决方案
下面的 Roger 提供了一个替代解决方案。如果文件已经滚动,是另一个地方。会将 div 扩展到整个浏览器屏幕。
sz=getSize(); //function returns screen width and height in pixels
currentWidth=200;
currentHeight=200;
scalex=sz.W/currentWidth;
scaley=sz.H/currentHeight;
transx=0-((document.getElementById("Banner").offsetLeft+(currentWidth/2))-(sz.W/2))+document.body.scrollLeft;
transy=0-((document.getElementById("Banner").offsetTop+(cuttentHeight/2))-(sz.H/2))+document.body.scrollTop;
transx = transx.toString();
transy = transy.toString();
document.getElementById("Banner").style['-webkit-transform'] = 'translate('+transx+'px,'+transy+'px) scale('+scalex+','+scaley+')';
最佳答案
如果你所说的过渡效果是指动画,你必须在你想让它动画的时候划分属性的变化;记住:动画会及时发生。如果你只是设置
document.getElementById('Banner').style['width'] = '100%';
它会立即执行,您需要改为在 Y 毫秒内从 X% 到 100%;例如
function changeWidth(){
var initialWidth = document.getElementById('Banner').style['width'];
var stepValue = (CALCULATE_YOUR_FULL_WIDTH - currentWith)/1000;
var animate = function(){
var element = document.getElementById('Banner');
element.style['width'] = element.style['width'] + stepValue;
}
setInterval(animate, 1);
}
我希望你明白这个想法,我没有测试它所以我不能保证它有效。
function changeWidth(){
var initialWidth = 200;
var stepValue = (1000 - initialWidth)/1000;
var currentSize = initialWidth;
var animate = function(){
currentSize = currentSize + stepValue;
var element = document.getElementById('Banner');
element.style['width'] = (currentSize + stepValue)*1 + 'px';
};
setInterval(animate, 1);
};
这行得通,你将不得不从它开始工作,因为它很丑:P,阅读实现它的 jquery 函数,看看它是如何做到的,这是一个好的开始。
编辑
好吧,我最终做到了。
关于html - CSS Ease-in-out 到全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12956066/
当我查看控制台时,出现以下错误: jQuery.easing[jQuery.easing.def] is not a function 我正在尝试在 WordPress 上制作一个 slider 。我
大家好,我在我的 wordpress 站点中为通知栏设置了缓动效果,但每当我单击该按钮时,我都会收到 TypeError 错误。TypeError: v.easing[this.easing] 不是函
我想让某物 Action 流畅。想想一部电梯,当它到达所需楼层时,它不会全速运行并死机停止。它会尽可能快地移动,然后逐渐减速,直到到达所需的楼层。 我需要一个输入...的循环 int steps =
我正在设计一款“玩家”必须跳跃的游戏。我有一个有效的跳跃功能,但跳跃非常“线性”。我希望跳跃具有“缓入”和“缓出”功能。 这意味着跳跃的第一部分应该上升得更快,而在“顶部”附近速度会降低,而在向下移动
这个问题在这里已经有了答案: TypeError: p.easing[this.easing] is not a function (12 个答案) 关闭 6 年前。 我需要为我的 jQuery 链
当试图用 jQuery 显示一个 div 元素时,我得到了这个错误: [23:50:35.971] TypeError: p.easing[this.easing] is not a function
我正在尝试创建 anchor 链接滚动以及使用 Bootstrap 显示的工具提示 $(window).scroll(function(){ if ($(window).scrollTop()
我正在开发这个网站:http://www.siraryf.com并且手机响应式版本存在问题。 jQuery 在普通版本中工作良好,但在手机上停止工作,然后控制台中出现 TypeError: n.eas
CSS3 过渡的ease-in、ease-out 等有什么区别? 最佳答案 CSS3 的过渡和动画支持缓动,正式称为“计时功能”。常见的有 ease-in、ease-out、ease-in-out、e
我正在尝试将 d3.js v5 中的代码转换为 d3.js 的版本 3。我尽一切可能将原始代码转换为 版本 5: http://plnkr.co/edit/w8v0Iz6Fg3rJTyxeXKca?p
我正在将 JQuery V1.9.1 升级到 V3.0,并且使用“jquery migrate 3.0”。我的控制台中出现此警告: JQMIGRATE: easing function "jQuery
几个月以来我第一次升级了我的 jQuery 东西(脸红)。我现在正在: jquery-1.9.1.js jquery-ui-1.10.2.custom.js(使用 ThemeRoller,并包含所有组
尝试在我的 wordpress 中使用 JQuery Easing 插件,但出现以下错误 (firebug) c.easing[this.options.specialEasing && this.o
我已经成功地在 UIView 的绘图中创建了自定义动画,方法是使用重复的 Timer 每隔几毫秒增加绘图的 alpha。 现在,我想用我的绘图实现缓动动画(减速)。我想通过每次调用 Timer 时以更
“轻松”一词代表什么?它出现在剧透按钮的代码中。它指的是边距、渐变、链接样式还是完全不同的东西? 最佳答案 简而言之,ease 是一种在 CSS 中用于动画和过渡的计时函数。 有关更多详细信息,请访问
如果你看一下这个 fiddle :http://jsfiddle.net/5PH8p/ 然后你可以看到如果你将鼠标悬停在空白图像上,它会翻转并显示一些文本。但问题是,当您也将鼠标悬停在该段落上时,图像
目前,当我在 matplotlib 中为表面制作动画时,我手动生成快照并使用 ImageMagick 拼接在一起。这类似于标准的 matplotlib 动画,因为它不会在两帧之间过渡。 我可以在过渡期
我在一个非常简单的网站上安装并运行了jquery的缓动插件,可以在这里看到:http://harrisonfjord.com/folio/ 我的 anchor 链接代码(调用jquery函数将窗口滑动
文件引用(母版页): HTML Go to 50s 50s JavaScript.js 文件中的代码 $(".rightLinks").click(function (
transition: all .2s ease-in-out; 没有为我的文本输入字段工作。 我想让它做的是,当您聚焦文本输入字段时,黑色边框会淡入,反之亦然。 这是我的CSS: #game-pin
我是一名优秀的程序员,十分优秀!