Permalänk
Medlem

fråga jquery & css

Jag har byggt ett "bildspel" som "slidar" bilder (eller divar) med jquery med koden nedan.

Det problem jag har kvar är att jag vill släcka allt utanför diven med bordern. Hur gör man det?
Tacksam för hjälp!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Erics jq-test</title> <script type="text/javascript" src="jquery-1.4.1.min.js"></script> <script type="text/javascript"> var pos = 1; $(document).ready(function(){ console.log("possition: " + pos); var slides = $('#container .element'); var numberOfSlides = slides.length; console.log("antal slides: " + numberOfSlides); $('#right').click(function(){ if(pos<=numberOfSlides-1){ //$('#container div.element').animate({"left" : '+=200px' }, 1000, function() {pos++;}); $('#container div.element').animate({"left" : '+=200px' }, 1000 ); pos++; console.log("possition: " + pos); } else{ $('#container div.element').animate({"left" : '-=400px' }, 1000); pos=1; console.log("possition: " + pos); } }); $('#left').click(function(){ if(pos>1){ $('#container div.element').animate({"left" : '-=200px' }, 1000); pos--; console.log("possition: " + pos); } else { $('#container div.element').animate({"left" : '+=400px' }, 1000); pos=3; console.log("possition: " + pos); } }); }); </script> <style type="text/css"> body {margin:20px 0 0 400px} #container { width:200px; height:200px;; border: 5px black solid; position:relative} #container div {width:200px; height:200px; position: absolute; display: block;} #container #element1 { background-color:red; left:-400px} #container #element2 { background-color:green; left:-200px} #container #element3 { background-color:blue; left:0px} .slideLink {text-decoration:none; font-size:36px} </style> </head> <body> <div id="container"> <div id="element1" class="element">3</div> <div id="element2" class="element">2</div> <div id="element3" class="element">1</div> </div> <br /> <a href="#" id="left" class="slideLink"><</a> <a href="#" id="right" class="slideLink">></a> </body> </html>

Permalänk
Medlem

Jag har ingen erfarenhet av JavaScript, men detta kan nog hjälpa dig:
http://www.huddletogether.com/projects/lightbox2/

Vet dock inte hur mycket kod det är att gå i genom.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Aonike
Jag har ingen erfarenhet av JavaScript, men detta kan nog hjälpa dig:
http://www.huddletogether.com/projects/lightbox2/

Vet dock inte hur mycket kod det är att gå i genom.

Tack men då har du nog missförstått vad jag vill göra. Om du kollar på DN, nästan längst ner så har de en sån bläddrare som jag hade tänkt bygga

Permalänk
Medlem

Menar du den för reportage?
Vad menar du egentligen med att du vill släcka allt utanför div-elementet?

Permalänk
Medlem

DN använder jQuery Cycle: http://malsup.com/jquery/cycle/add6.html

Men jag rekommenderar Scrollable istället: http://flowplayer.org/tools/scrollable.html

Sänk din animation time från 1 s till max ca 0.4 s för att besökare inte ska bli irriterade. Vill man till bild 7 är det asjobbigt att det ska behöva ta upp till 7 sekunder att komma dit. Det gäller oavsett om du använder Scrollable, Cycle eller skriver något eget. Att skriva eget rekommenderar jag inte att du gör annat än i utbildningssyfte.

P.S. Använd nya jQuery (1.4) för bättre prestanda

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Garret
Menar du den för reportage?
Vad menar du egentligen med att du vill släcka allt utanför div-elementet?

Jag menar allt utanför diven med border

Citat:

Ursprungligen inskrivet av azoapes
DN använder jQuery Cycle: http://malsup.com/jquery/cycle/add6.html

Men jag rekommenderar Scrollable istället: http://flowplayer.org/tools/scrollable.html

Sänk din animation time från 1 s till max ca 0.4 s för att besökare inte ska bli irriterade. Vill man till bild 7 är det asjobbigt att det ska behöva ta upp till 7 sekunder att komma dit. Det gäller oavsett om du använder Scrollable, Cycle eller skriver något eget. Att skriva eget rekommenderar jag inte att du gör annat än i utbildningssyfte.

P.S. Använd nya jQuery (1.4) för bättre prestanda

Grejen är att det typ är för utbildningssyfte. Den ska användas professionellt men jag göra den för att lära mig. Dessutom buggade Cycle för mig (den bytte ibland håll av sig självt).

En annan konstig grej är att den fungerar fint när jag kör den lokalt i FF men inte i IE och den fungerar inte alls när jag kör den från en server.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av WIRN
Grejen är att det typ är för utbildningssyfte. Den ska användas professionellt men jag göra den för att lära mig.

Väldigt olika saker att göra något i utbildningssyfte och för skarp användning. Använd inte något du gjort själv professionellt om du inte har full koll. Du måste veta hur alla liknande komponenter (Cycle, Scrollable) fungerar och är uppbyggda, samt fördelar och nackdelar med olika tekniker. Detta måste du ha full koll på innan du ens börjar fundera på hur din egna komponent ska byggas.

Du inser nog inte riktigt hur många timmars arbete som ligger bakom t.ex. Scrollable, och då kan jag meddela att väldigt få jQuery-komponenter inte lider av problem i olika projektstorlekar, som exempel är flera av jQuery UIs egna kontroller ganska usla - vissa saknar callbacks och andra har stora inkonsekvenser trots att fullt stöd för just de webbläsarna är med i projektbeskrivningen.

Att göra denna komponent quick & dirty så att den funkar och du lär dig en del jQuery - visst. Men att använda den live åt ex. en kund? Stort misstag.