2013-04-26 32 views
0

我想創建一個智能手機(iOS和Android)上的交互,創建一個圖像,無論有人在屏幕上點擊。使用jQuery Mobile的,這是JS我現在所擁有的:創建一個圖像,無論哪裏有人點擊 - .append結合pageX和Pagey

$('#container1').bind('tap', function(e) { 
$('img').css({ 
    position: 'absolute', 
    left: e.pageX, 
    top: e.pageY 
}); 
$("#container1").append('<img src="image.png" />'); 
}); 

然而,這造成了圖像的情況下,保持堆疊它們無論用戶在哪裏水龍頭。如果有人用獨特的X和Y位置進行點擊,我該如何組合這兩個代碼塊來創建同一圖像的獨特實例?謝謝!

+0

那當然,堆棧的所有圖像中的當前位置,因爲你使用的是非常基本的選擇「IMG」,目前這意味着所有圖像該文件。您可以直接在圖像上設置樣式,只需在HTML代碼中直接爲其添加'style'屬性即可。 – CBroe 2013-04-26 13:45:11

+0

對,我會這樣做: $(「#container1」)。append(''); – user1922019 2013-04-26 13:47:25

+0

@ user1922019我加了一個答案。你在pageX和pageY後面忘了'px'。 – Omar 2013-04-26 15:45:56

回答

1

您的代碼

$('img').css({ 
    position: 'absolute', 
    left: e.pageX, 
    top: e.pageY 
}); 

正在改變頁面上的所有img標籤的位置。您可能需要手動設置您添加的圖片樣式屬性:

$('#container1').bind('tap', function(e) { 
    var image = '<img src="image.png" style="position:absolute;left:' + e.pageX + 
     ';top:' + e.pageY';" />'; 
    $("#container1").append(image); 
} 
+0

似乎並沒有工作,但我可能做錯: '<腳本類型= 「文/ JavaScript的」> $(文件)。就緒(函數(){ \t \t $('#container1 ').bind(' 抽頭 '函數(E){ VAR圖像=' 「; $( 「#container1」)附加(圖像); \t}); \t \t }); ' – user1922019 2013-04-26 14:10:26

+0

@ user1922019 remove'$(document).ready()'。 – Omar 2013-04-26 14:24:03

+0

@Omar這也沒用 - 這是一個小提琴。 http://jsfiddle.net/XyD58/ – user1922019 2013-04-26 15:01:32

相關問題