Hey Leute!
Dieser Threat ist eher an die Webdesigner und Programmierer gerichtet:
Und zwar hab ich seit einiger Zeit ein mittelgroßes Problem mit der dynamischen Bildvorschau für mein Webinterface, an dem ich seit fast einem Jahr schraube (ist schon fertig und bereits bei einem "Kunden" in Betrieb). Das Problem ist, dass das Bild beim ersten Ausführen des Scriptes nicht angezeigt wird, danach aber alles perfekt funzt. Zudem bekommt es der allseits beliebte Internet Explorer nicht auf die Reihe die URL zu ändern, wenn auf ein anderes Bild geklickt wird. Hier der Code:
- <script>
- function openImg(path){
- delete(pictureViewed);
- pictureViewed = new Image(900, 500);
- pictureViewed.src = "http://beta.just-different-design.de/interface/php/backstage/php/img/upload/"+path+"";
- var ua = window.navigator.userAgent;
- var msie = ua.indexOf("MSIE ");
- if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)){
- var pictureWidth = 900;
- var pictureHeight = 500;
- alert('Sorry, this preview does not work stable on Internet Explorer.');
- } else{
- if(pictureViewed.naturalWidth <= 900 && pictureViewed.naturalHeight <= 800){
- var pictureWidth = pictureViewed.naturalWidth;
- var pictureHeight = pictureViewed.naturalHeight;
- } else if(pictureViewed.naturalWidth > 900 && pictureViewed.naturalHeight <= 800) {
- var pictureWidth = 900;
- var pictureHeight = pictureViewed.naturalHeight / (pictureViewed.naturalWidth / pictureViewed.naturalHeight);
- } else if(pictureViewed.naturalWidth <= 900 && pictureViewed.naturalHeight > 800) {
- var pictureHeight = 800;
- var pictureWidth = pictureViewed.naturalWidth / (pictureViewed.naturalHeight / pictureViewed.naturalWidth);
- } else {
- var pictureWidth = 900;
- var pictureHeight = pictureViewed.naturalHeight / (pictureViewed.naturalWidth / pictureViewed.naturalHeight);
- }
- }
- if(pictureWidth == 0 && pictureHeight == 0){
- var div = document.createElement("div");
- div.id = "img_container";
- div.innerHTML = '<div id="container_nav"><a href="javascript:closeImg();"> <img src="/../images/close.png" /></a></div><table width="900px" height="250px"><tr valign="center"><td><img src="/../images/warning.png" /><br />Error while loading image: '+path+'<br /><a href="javascript: openImage();">Try again</a></td></tr></table>';
- document.body.appendChild(div);
- $( "#img_container" ).stop().animate({marginTop: "120px", opacity: "1"}, 200);
- $( "#img_container" ).css({marginLeft: "-450px", backgroundColor: "#555555", height: "250px", width: "900px"});
- $( "#container_nav" ).css({marginLeft: "-450px"});
- var div2 = document.createElement("div");
- div2.id = "img_background";
- div2.innerHTML = '';
- document.body.appendChild(div2);
- $( "#img_background" ).stop().animate({opacity: "0.5"}, 200);
- $( "#container_nav" ).stop().animate({marginTop: "120px", opacity: "0.5"}, 200);
- $( "#container_nav" ).css({width: "900px"});
- setTimeout(function(){
- $( "#container_nav" ).animate({opacity: "0.3"});
- }, 800);
- document.getElementById("img_container").style.display = "block";
- document.getElementById("img_background").style.display = "block";
- } else {
- var div = document.createElement("div");
- div.id = "img_container";
- div.innerHTML = '<img width="'+pictureWidth+'px" height="'+pictureHeight+'px" id="img_viewed" src="'+pictureViewed.src+'" /><div id="container_nav"><a href="javascript:closeImg();"> <img src="/../images/close.png" /></a></div>';
- document.body.appendChild(div);
- $( "#img_container" ).stop().animate({marginTop: "120px", opacity: "1"}, 200);
- $( "#img_container" ).css({marginLeft: "-"+pictureWidth / 2+"px"});
- $( "#container_nav" ).css({marginLeft: "-"+pictureWidth / 2+"px"});
- var div2 = document.createElement("div");
- div2.id = "img_background";
- div2.innerHTML = '';
- document.body.appendChild(div2);
- $( "#img_background" ).stop().animate({opacity: "0.5"}, 200);
- $( "#container_nav" ).stop().animate({marginTop: "120px", opacity: "0.5"}, 200);
- $( "#container_nav" ).css({width: ""+pictureWidth+"px"});
- setTimeout(function(){
- $( "#container_nav" ).animate({opacity: "0.3"});
- }, 800);
- document.getElementById("img_container").style.display = "block";
- document.getElementById("img_background").style.display = "block";
- }
- $( "#container_nav").mouseover(
- function (){
- $( "#container_nav" ).stop().animate({opacity: "1"}, 200);
- }
- );
- $( "#container_nav").mouseout(
- function (){
- $( "#container_nav" ).stop().animate({opacity: "0.3"}, 300);
- }
- );
- }
- function closeImg() {
- $( "#img_container" ).stop().animate({marginTop: "0px", opacity: "0"}, 200);
- $( "#img_background" ).stop().animate({opacity: "0"}, 200);
- $( "#container_nav" ).stop().animate({marginTop: "0", opacity: "0"}, 200);
- setTimeout(function(){
- document.getElementById("img_container").style.display = "none";
- document.getElementById("img_background").style.display = "none";
- var elem = document.getElementById("img_container");
- elem.remove();
- delete(elem);
- var elem2 = document.getElementById("container_nav");
- delete(elem2);
- }, 200);
- delete(path);
- delete(pictureViewed.src);
- removeChild(div);
- }
- </script>
Seid bitte nicht zu streng mit mir, ich hab mir alles, was ich kann selbst beigebracht und habe bisher keine richtige Ausbildung in diesem Bereich genossen
Hier die Seite mit dem entsprechenden Script: http://beta.just-different-design.de/
Was auf der Seite zu sehen ist, wollte ich natürlich eigentlich nicht zeigen, daher fragt bitte garnicht erst und bitte keinen dummen Comments über irgendwelche Texte. Zudem sind die Unterseiten noch nicht verlinkt. Achso und optimiert ist auch nur für Firefox und ja, ich weiß, dass JQuery und JavaScript gemischt sind, obwohl es meist für die jeweilige Sprache eine Funktion gibt, aber ich habs halt so gemacht