我有以下代码:
HTML:
<div id="my-div"></div>
CSS:
#my-div{
display: none;
position: absolute;
left: 150vh;
bottom: -150px;
}
jQuery:
$.fn.vhLeft = function(property,unit){
var wpx = this.css(property).replace(/[^0-9]+/g,"");
var temp = $('<div />').css({
left:'1'+unit,
position: 'absolute'
});
$('body').append(temp);
var oneEm = temp.css(property).replace(/[^0-9]+/g,"");
temp.remove();
var value = wpx/oneEm;
return (Math.round(value*100))+unit;
};
// You could now get your value like
alert($('#my-div').parseInt(vhLeft)('left','vh'));
归功于@Zword。
首先,该功能似乎有问题。对于某些值,它可以工作,对于某些值,它不会返回正确的值。
以 150vh 为例,工作正常。
以 140vh 为例,无法正常工作。
基本上我需要的是能够为单击元素的属性添加或减去12
当前vh
值。left
#my-div