ウェブサイトの最初の読み込み時に、以下のコードを1回だけ実行したいと思います。 私はcookieとsessionstorageで試しました。しかし、私は決して適切な解決策を見つけたことはありません。多分それは間違っていたでしょう。誰もがセッションストレージでそれを解決する方法を知っていますか?私はそれで決して何もしなかった。多分このような何か? :Javascript - セッションごとに1回実行
if (!sessionStorage.alreadyClicked) {
$('#my_div');
sessionStorage.alreadyClicked = 1;
}
助けてください。ありがとうございました。
var my_div;
topIgnore = 100; // (in pixel units) used for function ignoreTop
window.onload = function() {
my_div = document.getElementById('my_div');
var my_div_style = window.getComputedStyle(my_div);
var width_div = parseInt(my_div_style.width, 10); // remove 'px' from string
var height_div = parseInt(my_div_style.height, 10);
// make sure the property exists, else you can get a NaN
my_div.style.left = 0;
my_div.style.top = 0;
// event
window.onmousemove = function(e) {
// my_div.innerHTML = e.pageX +' - '+ (leftBorder + width_div) +' - '+ width_div;
cursorIsInsideDiv(e);
}
// TO DO: feel free to make similar functions for left/right/bottom
// removes the first 100px
function ignoreTop(top) {
if(top < topIgnore) {
return topIgnore;
}
return top;
}
function cursorIsInsideDiv(e) {
var leftBorder = parseInt(my_div.style.left, 10); // remove 'px' from string
var topBorder = parseInt(my_div.style.top, 10);
// move left
if(e.pageX < leftBorder) {
my_div.style.left = e.pageX + 'px';
}
// move right
else if(e.pageX > (leftBorder + width_div)) {
my_div.style.left = (e.pageX - width_div) + 'px';
}
// move up
if(e.pageY < topBorder) {
var top = e.pageY ;
top = ignoreTop(top);
my_div.style.top = top + 'px';
}
// move down
else if(e.pageY > (topBorder + height_div)) {
my_div.style.top = (e.pageY - height_div) + 'px';
}
}
}
#my_div {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
#my_div {
width: 300px;
height: 150px;
background: #ff0000;
position: absolute;
}
<div id="my_div">
<h2>Newsletter</h2>
Name: <input type="text" name="fullname"><br>
Email: <input type="text" name="email"><br>
</div>
あなたはセッションごとに一回、または "永遠に" 一度意味しますか? – vaso123
セッションあたり1回 – azrm
申し訳ありませんが、あなたのSOスニペットコードに 'sessionStorage'が表示されません。 – Justinas