Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Bilderliste soll nicht an den Anfang springen

Diskussion: Bilderliste soll nicht an den Anfang springen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Ich erstelle gerade für meinen Dad eine Online-Version eines Briefmarkenkatalogs. Dieser enthält eine Bilderliste, in der man die Bilder ...

Antwort
Alt 20.11.10, 14:24   #1 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 443
erledigt Bilderliste soll nicht an den Anfang springen

Anzeige

Ich erstelle gerade für meinen Dad eine Online-Version eines Briefmarkenkatalogs. Dieser enthält eine Bilderliste, in der man die Bilder anklicken kann und dann die gewünschten Daten für eine Briefmarke erhält. (Siehe Screenshot unter http://bitmuncher.blog.de/2010/11/20...sagt-10012944/). Dummerweise springt aber nach jedem Laden eines Datensatzes die Liste wieder an den Anfang zurück. Sie soll aber an der Stelle bleiben, an der der User zuletzt war, wo also das angeklickte Thumbnail zu sehen ist. Hat jemand eine Idee, wie man das (am besten ohne Javascript) umsetzen kann? Der Code für die Liste sieht momentan so aus:

Code:
#!/usr/bin/perl

require "config.pl";
my %config = &config_data();

$out = "Content-Type: text/html\n\n";

$out .= '<html><head><META HTTP-EQUIV="Expires" CONTENT="86400"><base target="_parent"></head><body>'."\n";

my $thisdir = $config{'thumbnaildir'};
opendir(DH, $thisdir) || die "Cannot open $thisdir $!\n";;
my @files = readdir(DH);
$out .= "<table border=\"0\"><tr>\n";
foreach(@files) {
	unless($_ eq '.' || $_ eq '..') {
		my $number = '';
		if($_ =~ /DDR(.*)_small.jpg/) {
			$number = $1;
		}
		$out .= '<td><a href="index.pl?mod=info&nummer='.$number.'"><img src="'.$thisdir.$_.'"></img>'."</a></td>\n";	
	}
}
$out .= "</tr></table>\n";
closedir DH;

$out .= "\n</body></html>";

print $out;

1;
Angezeigt wird sie in einem iFrame, damit die horizontale Scrollleiste genutzt werden kann.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
Alt 20.11.10, 15:03   #2 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

Hi,
das kannst du mit Ankern erreichen.
Du schreibst in der Bilderliste hinter jedes Bild einen Anker mit der jeweiligen Nummer:
Code:
...<img src="'.$thisdir.$_.'"></img><a name="bild'.$number.'"></a>
Und wenn du eine Detailansicht anzeigst, hängst du hinter das src-Attribut im IFrame den Ankername an die URL:
Code:
<iframe src="list.pl#bild'.$number.'">
Dann sollte der Browser das Frame so scrollen, das der angesprungene Anker sichtbar wird (du solltest den Anker daher rechts von den Bildern setzen, damit das angezeigte Bild auch sichtbar ist).

---
Ich hätte noch ne andere Idee, wie du das lösen kannst.
Wenn du statt einem IFrame gleich ein Frameset benutzt, in dem die Detailansicht auch in einem Frame geladen wird, könntest du mit dem Target-Attribut der Links in der Liste die Detailansicht im oberen Frame öffnen, ohne dass das untere Frame geändert wird.
Wenn du sowieso mit Frames arbeitest, kannst du das auch gleich so machen. Dann hast du kein Problem mehr, dass sich die Liste verstellen könnte.

mfg, metax.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.11.10, 15:42   #3 (permalink)
Moderator
Themenstarter
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 443
Standard

Ich hab's mit den Ankern probiert, aber das funktioniert im Safari scheinbar nicht. Hab's daher jetzt deinem Rat folgend auf ein komplettes Frameset umgestellt. Damit geht's. Danke.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
Alt 21.11.10, 00:33   #4 (permalink)
 
Registriert seit: 03.07.10
ronco Leistung: Facit NTK
Likes: 0
Standard

Hi,

Anker funktionieren super wenn man sie nicht auf name="ankername" setzt sondern auf Ids also <img scr="thumbnail.jpg" id="bild_1" /> und dann eben auch #bild_1 an den link .. macht safari auch ohne probleme mit
framesets sind doch ausserst unschön...
ronco ist offline   Mit Zitat antworten
Alt 21.11.10, 00:40   #5 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

Krasse Sache, ich hab noch nie gehört, dass man so Elemente mit ner ID anspringen kann. Scheint aber einwandfrei zu funktionieren.
Danke für den Tip, das ist bestimmt nützlich!
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Alt 21.11.10, 00:45   #6 (permalink)
Moderator
Themenstarter
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 443
Standard

Ich muss so oder so mindestens einen iFrame nutzen um die Bilderliste anders cachen zu können als den Datenbereich. Wenn bei jedem Klick >3200 Thumbnails geladen werden müssen, ist das genauso unschön.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Perl Bilderliste soll nicht an den Anfang springen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61