webForumDet fria alternativet

Använda a till länkar som triggar effekter?

JavaScript

4 svar · 1 262 visningar · startad av bassebhu

Medlem sedan nov. 20016 480 inlägg
Frågan#1

Hej alla glada!

Vet inte om ämnet har tagits upp tidigare, men om man vill trigga jQueryeffekter som bara påverkar sånt som finns på den aktuella sidan och länkarna inte pekar någonstans, bör man fortfarande använda a-taggarna?

I följande exempel vill jag att texten "Läs mer" ska öppna en gömd div:

$(".show-text").click(function() {
	$(this).attr('rel').show();
});

<span class="show-text" style="cursor: pointer;" rel="#textblock">Läs mer</span>
<div id="textblock" style="display: none;">Dold text</div>

1.) Denna kod funkar inte för $(this).attr('rel').show(); är felskrivet eller kanske snarare att rel inte funkar på span. Hur ska jag skriva för att jag ska få med ett värde från det jag klickar på till det som ska döljas? I det här fallet är jag ute efter ett dynamiskt sätt för $('#textblock').show();

2.) Bör jag använda a i stället för span och använda href till att bestämma vilken div som ska visas? Det känns lite knasigt att använda en a som inte leder nån vart utan javascript. Å andra sidan kommer det att stå en text som är "Läs mer" lite omotiverat när texten redan syns under (får se till att display:none inte sätts på om det inte finns js-stöd, men det skippar jag att ta med i exemplet ovan).

Hjälp tack! :)

edit/ kanske kan sätta .no-js .show-text { display: none; } och .js #textblock { display: none; } för att dölja "Läs mer" utan js resp. dölja #textblock med js.

Medlem sedan nov. 20016 480 inlägg
#2

Är det här nåt att hänga i granen?

.js .no-href { cursor: pointer; }
.js .js-hidden, .no-js .no-href  { display: none; }

$(".show-text").click(function() {
	$('.' + $(this).attr('id')).show();
});
<span id="textblock" class="show-text no-href">Läs mer</span>
<div class="textblock js-hidden">Dold text</div>
Medlem sedan juni 20019 519 inlägg
#3

Ser inte vad detta har med HTML att göra, men om du inte vill köra med ID så kan du ju alltid köra .next() om det är så din HTML struktur ser ut.

Medlem sedan nov. 20016 480 inlägg
#4

voigtann1 skrev:

Ser inte vad detta har med HTML att göra, men om du inte vill köra med ID så kan du ju alltid köra .next() om det är så din HTML struktur ser ut.

Wupps, var inte alls meningen. Flyttad!

Ska kolla in .next(). Återkommer om det blir frågor! Tack.

Men frågan om man bör använda a-element till länkar som inte leder nån vart då?

Medlem sedan juni 20019 519 inlägg
#5

bassebhu skrev:

Wupps, var inte alls meningen. Flyttad!

Ska kolla in .next(). Återkommer om det blir frågor! Tack.

Men frågan om man bör använda a-element till länkar som inte leder nån vart då?

Skapa a-elementet med javascript så få du fördelen att man kan tabbar sig ner för att klicka på den, annars nej, använd aldrig a-element som inte ta dig någonstans.

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)