Valaki átírja ezt a html kódot?
Egy div ablakról lenne szó:
<html>
<head>
<script type="text/JavaScript">
<!--
function getStyle()
{
var temp = document.getElementById("VALTOZO_1").style.visibility;
return temp;
}
function switchMain()
{
var current = getStyle();
if( current == "visible" )
{
document.getElementById("VALTOZO_1").style.visibility = "hidden";
}
else
{
document.getElementById("VALTOZO_1").style.visibility = "visible";
}
}
//-->
</script>
</head>
<body>
<div id="VALTOZO_1" style="position:absolute; left:5px; top:5px; width:730px; height:531px; z-index:2; visibility: visible; background-image: url(VALTOZO_2); layer-background-image: url(VALTOZO_2);" align ="CENTER">
<a href="#" target="_blank" onclick="switchMain()"><img src="VALTOZO_3" width="125" height="47" alt="Bezár" border="0" style="vertical-align:middle; position: absolute; right: 100px; bottom: 50px;"></a>
</div>
</body>
</html>
Úgy szeretném, hogy az ablak körül minden tartalom fekete legyen, tehát ne látszódjon az ablakon kívül semmi.
Ha programot írsz, akkor kénytelen vagy alávetni magad azon szabályoknak, ahogyan azok működnek.
Első lépésként rá kell jönni hogy a "div" nem "ablak".
Második lépésként nézd meg, hogy a következő idézetben mit jelent az Általad "írt" 2. sor.
"<script type="text/JavaScript">
<!--"
Ha ezeken túlvagy, akkor jöhet az, hogy mikor fut le a "switchMain()" JavaScript funkció a dokumentumon.
Ha már ezt is tudod, nem fogsz őrületes baromságokat írni világszerte.
Szia, átírva, egy olyan változat, amire esetleg gondolhattál:
<html>
<head>
<script type="text/JavaScript">
timeToClose=5000; // ebben a változóban számláljuk (ezredmésodperc), hogy mennyi idő múlva kéne valamit csinálni (pl. lezárni az ablakot)
setTimeout(function(){alert("Hello");},6000); // indulás után 6000ms (6sec) alert-et adunk a képernyőre, újabb 6sec után megint....
window.setInterval("dispTimeLeft()",1000); // másodpercenként végrehajtjuk a dispTimeLeft() funkciót
function dispTimeLeft() {
document.getElementById("timeLeft").innerHTML=timeToClose/1000; // beleírjuk a "timeLeft" id-jű div-be, hogy mennyi idő van még hátra másodpercben
timeToClose-=1000; // csökkentjük a hátralévő időt 1 másodperccel
}
function switchMain() {
var tmp = document.getElementById("VALTOZO_1").style;
if( tmp.visibility == "visible" ) {
tmp.visibility = "hidden";
}
else {
tmp.visibility = "visible"; //ez az ág sosem fog lefutni, mert "addigra" már eltűntettük a "VALTOZO_1" id-vel rendelkező div-et, a nyomógombbal együtt.
}
}
</script>
</head>
<body style="background-color: #000000">
<div id="VALTOZO_1" style="margin-left:auto; margin-right:auto; width:730px; height:531px; visibility: visible; background-image: url(VALTOZO_2);" >
<a href="#" onclick="switchMain()"><img src="VALTOZO_3" style="position:relative; left:500px; top: 350px; width:125px; height:47px; " alt="Bezár" ></a>
</div>
<div id="timeLeft" align="right" style="color:#888888"></div>
</body>
</html>
Látszott, hogy igyekeztél középre rendezni a "VALTOZO_1" id-val rendelkező div-et, ezért azt átírtam, hogy tényleg középen legyen, és benne relatív helyen a click-kelhető kis kép.
A kód alapján van tehát egy "VALTOZO_2" file-nevű képed (pl. egy jpg file erre a névre átnevezve) u.abban a directory-ban, ahol maga a HTML file, és ez a kép a háttérkép.
Van egy "VALTOZO_3" nevű kis képed (szintén ebben a folderben), amire a HTML lapon click-elni lehet.
A click hatására semmi más nem történik, csak láthatatlanná válik az egész DIV, tehát a háttérkép és a kiskép is.
A HTML body úgy lett most fekete, hogy megadtuk, milyen színű legyen: <body style="background-color: #000000">
A #000000 csupa 0 (R,G,B), tehát egyik szín sem világít, ez fekete. A #FF0000 Piros, a #00FF00 Zöld, a #0000FF Kék, és ha mindhárom szín teljes fényerőn van:#FFFFFF, az együtt Fehér.
A script elejére írtam timer-eket.
Tanuláshoz nagyon jó forrás a http://w3schools.com. "Sajnos" kénytelen leszel beleásni magad a HTML-be (DOM), és a javaScript-be, ha ilyen lapokat szeretnél gyártani, mert tapasztalat, hogy összeollózással csak akkor tud az ember összerakni bármit, ha tudja, hogy pontosan mit ollózott össze.
Üdv!
Szia, a korábbi pikírt válaszom ellenére ne hezitálj visszakérdezni; sok -elsőre- nem érthető dolog lehet a módosított kódban is.
Szívesen válaszolok, ha meg szeretnéd tudni, mi hogyan és miért van... :)
Szia!
Köszönöm szépen, de nem egészen erre gondoltam.
Az én hibám, mert érthető a kérdés.
Amit szerettem volna:
Van egy oldal amit ha megnyitunk, akkor egy 500x500 px ablak töltődik be. Az ablak hátterének és a bezárást szolgáló gomb képét url címmel adnám meg. Amikor megnyílik az ablak, akkor az ablakon kívül minden fekete legyen, de ha bezárjuk akkor eltűnjön az ablak is és a fekete szín is, hogy minden tartalom látható legyen.
Ha a felhasználó mégse kattint a bezárás gombra, akkor az ablak 30 másodperc múlva automatikusan tűnjön el.
(az se baj, ha az ablak alján ki lenne írva, hogy " Az ablak xy másodperc múlva bezáródik"
Hasonló ablakokat "vicc" oldalakon láttam még anno, és lájkolni kellett a tartalmat vagy várni félpercet.
Én nem ilyen célra használnám, de hasonló megoldást szeretnék (persze like gomb helyett bezárás lenne)
Szia, egyetlen lapon így a legkönnyebb megoldani (másold bele egy üres, html kiterj. fájlba, és megnyithatod lokálisan a böngésződben).
Tisztább lenne sztem, ha a feladatot úgy oldanád meg, hogy egy "kezdőlap" számlálna vissza, rajta a képekkel, és az hívná meg egy 2. lapot, amin a másik tartalom van.
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8">
<style>
h1, div, button {display:none;} /*itt a h1, a div-ek, és a nyomógombok stílusát "láthatatlanná" tesszük.*/
.pre {display:block;} /*minden olyat mutatunk, amit "pre" class-névvel láttunk el lentebb*/
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> // ez egy JavaScript "könyvtár", jQuery-nek hívják. ezt fogjuk használni a megjelenítésekhez, elrejtésekhez, mert kényelmes és tömör a használata
</script>
<script type="text/JavaScript">
var timeToClose = 5000; // 5 másodpercről számolunk majd vissza Ezt átírhatod majd 30000-re, ha fél percet szeretnél.
var timer = window.setInterval("dispTimeLeft()",1000); // másodpercenként meghívjuk a dispTimeLeft() funkciót (azzal számolunk vissza, a hátralévő idő ügyében)
function showMyPage(){ // ez a funkció kapcsolja le az előképet, és megmutatja a lap többi részét
$("*").show(); // a lapon mindent láthatóvá teszünk
$(".pre").hide(); // a "pre" class-szal jelölt elemeket (lentebb vannak, az "előkép" elemei) elrejtjük
$("body").css("background-color", "white"); // az eredetileg feketére állított háttérszínt fehérre állítjuk.
clearInterval(timer); // leáíllítjuk a timert
}
function dispTimeLeft() { // kiíratjuk a hátralévő időt
$("#timeDisp").html( "Az ablak <b>" + timeToClose/1000 + "</b> másodperc múlva bezáródik.");
timeToClose -= 1000; // csökkentjük a hátralévő időt kb. 1 másodperccel (az azt tároló változót pontosan annyival).
if(timeToClose < 0 ) showMyPage(); // ha lejárt az idő, meghívjuk azt a függvényt, amit a "gombra" kattintással is meghívnánk.
}
function reload(){location.reload();} // ez a funkció újratölti a lapot (a lentebbi nyomógomb hívja meg)
</script>
</head>
<body style="background-color:#000000">
<h1> Ez a lap kedzetben elrejtett tartalma... </h1>
<div id="myDiv1" >Ez a benne lévő szöveg, meg egy nyomógomb: </div>
<button onclick="reload()"> újratöltés </button>
<!--
ez lesz az "előlap ( ebben minden elemet a "pre" class-szal jelöltem)
-->
<div id="prePage" class="pre" style="margin-left:auto; margin-right:auto; width:500px; height:500px; visibility: visible; background-image: url(http://static.kep-tar.hu/preview/Jarmuvek/Levegoben/Levegoben015.jpg);" >
<a href="#" id="preButt" class="pre" onclick="showMyPage()"><img src="http://static.kep-tar.hu/preview/Animaciok/Smiley/Smiley03.gif" style="position:relative; left:400px; top: 350px; width:50px; height:100px; " ></a>
<div id="timeDisp" class="pre" style="position:relative; left:1px; top:350px; "></div>
</div>
</body>
</html>
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!