0
我想創建一個jquery插件,它放大後縮放div的背景圖像。 但是,我有一個非常奇怪的故障。它工作正常,順利,但當div被點擊時,CSS3轉換開始凍結。 我做了一個codepen示例。CSS3過渡與JQuery凍結
http://codepen.io/maxjf1/pen/rLKOPb
編輯:我tryed第一個答案,但沒有奏效。我已更改de code
以及更好演示的codepen示例。
var smooth = 'all 200ms ease-out';
$("[up-background-zoom]").hover(function() {
debug = true;
$(this).css({
'background-size': 'inherit',
'cursor': 'zoom-in',
'border': '1px solid rgba(0, 0, 0, 0.15)',
'box-sizing': 'border-box',
'transition': smooth
});
}, function() {
$(this).css({
'background-size': '',
'background-position': '',
'cursor': '',
'border': '',
'box-sizing': '',
'transition': ''
});
});
$("[up-background-zoom]").mousemove(function(e) {
var parentOffset = $(this).parent().offset();
var parentOffset = $(this).offset();
var relX = e.pageX - parentOffset.left;
var relY = e.pageY - parentOffset.top;
var divw = $(this).innerWidth();
var divh = $(this).innerHeight();
var posX = ((100/divw) * relX).toFixed(3);
var posY = ((100/divh) * relY).toFixed(3);
if (debug) $(this).html('<pre>' + posX + '%<br>' + posY + '%</pre>');
$(this).css({
'background-position': posX + '% ' + posY + '%',
});
});
我不知道什麼是錯的,任何幫助apreciated
它工作正常,感謝:D –
對不起,我沒有工作,我已經更新了筆更好的示範。 –
它在我的電腦上運行正常。你使用的是什麼瀏覽器?您必須考慮到每個*像素移動*時鼠標移動的火情,因此當您將鼠標移動100個像素(這不是很多)時,它必須實時連續執行所有計算!因此,扼殺鼠標移動事件可能是一個更好的主意(例如,只觸發全部100ms)。 –