Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

Probleem met onzichtbare klikbare overlay

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een soort bewegende banner bestaande uit HTML en Javascript. Geen plaatje, Flash of Silverlight dus. Wat ik nu wil is dat het geheel klikbaar is, dus alle tekst en tussenliggende ruimte.

Mijn idee is om een overliggende div te maken met een hogere z-index maar verder transparant. Deze overliggende div is dan klikbaar, terwijl alle onderliggende inhoud zichtbaar is. Ik heb met de volgende CSS dit in FireFox aan de praat gekregen:

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
div.Link
{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 468px;
    height: 60px;
    cursor: pointer;
    z-index: 10;
}


Echter dit werkt in IE niet. Deze div.Link is normaal gesproken leeg, maar als ik er voor de test tekst erin zet, dan is deze tekst klikbaar in IE, maar de rest niet.

Is hier een workaround voor dat dit in IE werkt, of moet ik een totaal andere aanpak nemen?

[ Voor 11% gewijzigd door Verwijderd op 21-10-2008 23:11 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarom een overlay met absolute positioning en zindex geklooi en gebruiken als je gewoon de cursor op de container kunt zetten?

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
        <title>MyAd</title>
        <style type="text/css">
            .banner {
                cursor:pointer;
                border:1px solid red;
                display:block;
            }
        </style>
    </head>
    
    <body>
            <div class="banner" onclick="return window.open('http://www.google.com');">
                <h1>Some header</h1>
                <p>Some content</p>
                <p><img src="http://www.google.com/intl/en_ALL/images/logo.gif" width="276" height="110" alt="some logo"></p>
            </div>
    </body>
</html>

[ Voor 79% gewijzigd door RobIII op 21-10-2008 23:53 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Als je overlay transparant is dan klik je er dwars doorheen in IE. De makkelijkste oplossing is om hem een background color te geven en een opacity van 0.

TabCinema : NiftySplit


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 13-11 20:20
Hmm doet me denken aan skimming sites die in kleine IFRAMES transparante overlays over de controls op de originele site geplakt hebben, en zo mouseclicks e.d. kunnen ondervangen.

Verwijderd

Topicstarter
Het is gelukt met Roblll's oplossing. Ik dacht te moeilijk; er was inderdaad geen overlay nodig. Ik hebt nu een pointer cursor op de container div, en vang het click event hiervan af. Ik dacht dat dat click event niet doorgegeven wordt als je klikt op de inhoud in de container div, maar dat werkt blijkbaar wel.

Bozozo's oplossing werkt niet in IE7; deze ondersteunt geen opacity.

Bedankt voor jullie inbreng.
Mastermind schreef op woensdag 22 oktober 2008 @ 18:28:
Hmm doet me denken aan skimming sites die in kleine IFRAMES transparante overlays over de controls op de originele site geplakt hebben, en zo mouseclicks e.d. kunnen ondervangen.
Dat is toevallig niet het doel ;) Tis een banner met live sportuitslagen die linkt naar de evenementensite van dat sporttoernooi.

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Verwijderd schreef op woensdag 22 oktober 2008 @ 18:38:
Bozozo's oplossing werkt niet in IE7; deze ondersteunt geen opacity.
In IE moet je een directX filter gebruiken voor opacity: filter:alpha(opacity=50)

TabCinema : NiftySplit


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 11-11 10:24

Bosmonster

*zucht*

Bozozo schreef op dinsdag 21 oktober 2008 @ 23:55:
Als je overlay transparant is dan klik je er dwars doorheen in IE. De makkelijkste oplossing is om hem een background color te geven en een opacity van 0.
Nadeel is dat je dan de inhoud ook niet meer ziet :+

Wat je kunt doen dan is een transparant gifje als achtergrond afbeelding instellen.

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Ik had het over de overlay hè. Daar zit als het goed is geen inhoud in :P

TabCinema : NiftySplit

Pagina: 1