我正在使用CSS的resize屬性來調整FF,Safari和Chrome中的div元素,但由於此屬性在IE和Opera中不起作用,因此我不得不在這兩種瀏覽器中的一種情況下找到備份正在使用,所以我使用Jquery和JavaScript的組合,詢問我在網上找到的功能,在這裏:Browser resize support code 。不幸的是,這是我擔心的代碼在我的測試中不起作用,看看它是否可行。爲什麼我的Jquery元素不能調整大小?
這是我的測試代碼:My code
var unsupported = (function()
{
var div = document.createElement('div'),
vendors = 'Khtml Ms O Moz Webkit'.split(' '),
len = vendors.length;
return function(prop)
{
if(prop in div.style) return true;
prop = prop.replace(/^[a-z]/, function(val)
{
return val.toUpperCase();
});
while(len--)
{
if (vendors[len] + prop in div.style)
{
return false;
}
}
return true;
};
})();
if(unsupported('resize'))
{
$("#elementtoresize").append('<img class="resizer" src="resizer.png"/>');
var r = true;
}
$(".resizer").mousedown(function(e){
if(r)
{
var Xoffset = this.parentNode.offsetLeft + this.parentNode.offsetWidth - e.clientX;
var Yoffset = this.parentNode.offsetTop + this.parentNode.offsetHeight - e.clientY;
r = false;
}
$(".resizer").mousemove(function(e){
this.parentNode.offsetWidth = e.clientX + Xoffset - this.parentNode.offsetLeft;
this.parentNode.offsetHeight = e.clientY + Yoffset - this.parentNode.offsetTop;
}
$(".resizer").mouseup(function(){
r = true;
}
}
另外,它還要求在同一文件夾中腳本的圖像時,優選10×10或更小,以被用作圖標用於調整div元素,但不特調整大小不起作用,圖像甚至沒有顯示,這是什麼導致我相信檢查CSS的變量是什麼導致了問題,因爲沒有它,圖像不會附加在div元素內。但是由於我沒有編寫代碼,並且沒有其他代碼可以找到用於檢查特定CSS屬性是否受支持的代碼,所以我無法真正找到該錯誤。如果您要嘗試測試代碼,那麼您還需要在樣式標記中添加一些代碼。
.resize
{
z-index:2;
position:absolute;
right:5;
bottom:5;
}
任何幫助修復代碼,將不勝感激!
爲什麼不使用名爲「resizble」的jQuery插件? http://jqueryui.com/demos/resizable/ –
我寧願不使用外部庫爲我正在工作的網站。 – Ethan722
對於那些認爲你可以提供幫助的人,我仍然需要幫助。 – Ethan722