|
お礼が遅くなりまして申し訳ございません。どうもありがとうございます。
JavaScriptで作成中なのですが、うまく表示されません。
以下がソースなのですが、実行したら一覧画像が表示され、クリックまではできるのですが、 その画像をコピーして配置することができません。
画像名を格納する変数のところが間違っているのかと思うのですが調べてもさっぱりです。 アドバイスをよろしくお願い致します。
<html> <head> <title>クリックして画像を配置</title>
<script type="text/javascript"> <!--
// Function(s) for CrossBrowser ---------------------------- MAC = navigator.userAgent.indexOf('Mac')!=-1; DOM = document.all?(document.getElementById?3:2) :(document.getElementById?4 :(document.layers?1:0)); CREATE_No = 0;
function getDivFromName(idName){ if(DOM>=3) return document.getElementById(idName); if(DOM==2) return document.all(idName); if(DOM==1){ var s = ''; for(var i=1; i<arguments.length; i++) s += 'document.layers.'+arguments[i]+'.'; return eval(s+'document.layers.'+idName); } return null; } function moveDivTo(div,left,top){ if(DOM==4) { div.style.left=left+'px'; div.style.top =top+'px'; return; } if(DOM==3 || DOM==2){ div.style.pixelLeft=left; div.style.pixelTop =top; return; } if(DOM==1){ div.moveTo(left,top); return; } } function setDivVisibility(div,visible){ if(DOM>=2){ div.style.visibility = (visible)?'inherit':'hidden'; return; } if(DOM==1){ div.visibility = (visible)?'inherit':'hide'; return; } } function getPageX(e){ if(window.opera) return e.clientX; if(DOM==4) return e.clientX+window.scrollX; if(DOM==3 || DOM==2) return document.body.scrollLeft+window.event.clientX; if(DOM==1) return e.pageX; return 0; } function getPageY(e){ if(window.opera) return e.clientY; if(DOM==4) return e.clientY+window.scrollY; if(DOM==3 || DOM==2) return document.body.scrollTop+window.event.clientY; if(DOM==1) return e.pageY; return 0; } function createLayer(left,top,width,height,parentDiv){ if(DOM==4){ var layerID='JS_layer'+CREATE_No; CREATE_No++; var pDiv =parentDiv?parentDiv:document.body; var div =document.createElement('DIV'); div.id=layerID; div.setattribute('style', 'position:absolute;left:'+left+';top:'+top +(width >0?(';width:' +width ):'') +(height>0?(';height:'+height):'') +';visibility:hidden'); pDiv.appendChild(div); return div; } if(DOM==3 || DOM==2){ var adj = MAC?' ':''; var layerID = 'JS_layer'+CREATE_No; CREATE_No++; var pDiv = parentDiv?parentDiv:document.body; pDiv.insertAdjacentHTML('BeforeEnd', '<div id="'+layerID +'" style="position:absolute;left:'+left+';top:'+top +(width >0?(';width:' +width ):';width:1') +(height>0?(';height:'+height):'') +';visibility:hidden;"><\/div>'+adj); return document.all(layerID); } if(DOM==1){ var div=parentDiv?(new Layer(width,parentDiv)):(new Layer(width)); if(width>0 && height>0) div.resizeTo(width,height); div.moveTo(left,top); return div; } return null; } function loadDivImage(div, fName, width, height){ if(DOM==4){ var img = document.createElement('IMG'); img.src = fName; if(width >0) img.setattribute('width', width ); if(height>0) img.setattribute('height',height); div.appendChild(img); return; } var s='<img src='+fName; if(width >0) s+=' width=' +width; if(height>0) s+=' height='+height; s+='>' if(DOM==3 || DOM==2){ div.innerHTML = s; return; } if(DOM==1){ div.document.open('text/html'); div.document.write(s); div.document.close(); return; } } // Main Script --------------------------------------------- var imgToPut = new Image(); imgToPut.src = myimg;
function putBomb(e){ var w = imgToPut.width; var h = imgToPut.height; var x = getPageX(e)-Math.floor(w/2); var y = getPageY(e)-Math.floor(h/2); var div = createLayer(x, y, w, h); loadDivImage(div, imgToPut.src, w, h); setDivVisibility(div, true); } if(document.layers) document.captureEvents(Event.MOUSEDOWN); document.onmousedown = putBomb; // --> </script>
</head> <body> <b hhref="javascript:addImg('01.jpg')"><img src="01.jpg" name="myimg"></b> <b hhref="javascript:addImg('02.jpg')"><img src="02.jpg" name="myimg"></b> <b hhref="javascript:addImg('03.jpg')"><img src="03.jpg" name="myimg"></b> <b hhref="javascript:addImg('04.jpg')"><img src="04.jpg" name="myimg"></b> '↑この掲示板に送信できなかったので、aはbにしてhを1つずつ仮に足しています 'bはaに置き換えて、hがダブっているところは1つにして参照ください
</body> </html>
|