Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Javascript und Firefox

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 19.06.2009 um 19:34 Uhr
Zuletzt editiert am: 19.06.2009 um 19:36 Uhr

Hey Leute,
Also ich hab folgendes Problem:
Bin nich so der wirkliche JavascriptChecker nur so die Grundkenntnise (onclick und bla) nun hab ich auf meiner Seite ein Javascript Kalender (runtergeladen) der sich bei dem Klick auf ein Bild o.ä. öffnet er sollte sich allerdings genau beim Bild öffnen also nicht iwo links oben oder sonstiges. Im IE funktioniert das auch einwandfrei nur im FF eben nicht ich hab schon selber versucht iwie eine Lösung zu finden nur komm ich auf keinen grünen Nenner.
Hier der Javascript Code der dafür Zuständig ist:

var IE = document.all?true:false;
if (!IE)
{

document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = getMousePos;
}
....
....
function getMousePos(e)
{
if (!IE)
{
offsetX = e.clientX - e.target.x;
offsetY = e.clientY - e.target.y;
mouseX = e.clientX;
mouseY = e.clientY;
}
}

Zumindest glaube ich das diese Funktion dafür Zuständig ist...

Könnte mir bitte jemand helfen eine Löung für FF zu finden? =/

Danke im Vorraus
solid

´o_O`

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 19.06.2009 um 19:44 Uhr

Ich poste ma den ganzen Code ausser das Design an sich vllt habt ihr dann mehr Überblick...

var IE = document.all?true:false;
if (!IE)
{

document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = getMousePos;
}

var mouseX = 0;
var mouseY = 0;
var offsetX = 0;
var offsetY = 0;

var clBackground = '#F8F8FF';
var clFrame = '#B9B9FF';
var clSelect = '#E3E3FF';

var calendarWidth = 182;
var calendarHeight = 180;

var buttonWidth = 12;
var buttonHeight = 12;

var zindex = 1000;

var tempEdit;
var selectDate = new Date();


document.write('<iframe name="Calendar" id="Calendar" frameborder=0 scrolling=no width=100% height=100% style="position: absolute; left: 348; top: 53; width: ' + calendarWidth + '; height: ' + calendarHeight + '; z-index: ' + zindex + '; visibility: hidden; border: 1px outset ' + clFrame + '"></iframe>');

function getMousePos(e)
{
if (!IE)
{
offsetX = e.clientX - e.target.x;
offsetY = e.clientY - e.target.y;
mouseX = e.clientX;
mouseY = e.clientY;
}
}

function hideCalendar()
{
if (document.getElementById('Calendar').style.visibility == 'visible')
document.getElementById('Calendar').style.visibility = 'hidden';
}

function showCalendar(aEditID)
{
var aEdit = document.getElementById(aEditID);

hideCalendar();

if (aEdit.disabled == true)
return;

var docWidth;
var docHeight;
var calendarLeft = 0;
var calendarTop = 0;

if (IE)
{
offsetX = event.offsetX;
offsetY = event.offsetY;
mouseX = event.clientX + document.body.scrollLeft;
mouseY = event.clientY + document.body.scrollTop;
docWidth = document.body.offsetWidth;
docHeight = document.body.offsetHeight;
}
else
{
docWidth = window.innerWidth;
docHeight = window.innerHeight;
}

calendarLeft = mouseX + (buttonWidth - offsetX);
calendarTop = mouseY + (buttonHeight - offsetY);

if ((calendarLeft - document.body.scrollLeft) + calendarWidth > docWidth)
calendarLeft = mouseX - calendarWidth - offsetX;

if ((calendarTop - document.body.scrollTop) + calendarHeight > docHeight)
calendarTop = mouseY - calendarHeight - offsetY;


if (typeof aEdit == 'object')
{
selectDate = StrToDate(aEdit.value);
tempEdit = aEdit;
}
else
return;

initCalendar();

document.getElementById('Calendar').style.left = calendarLeft;
document.getElementById('Calendar').style.top = calendarTop;
document.getElementById('Calendar').style.visibility = 'visible';

}

function StrToDate(aValue)
{
var inDate;
var result = new Date();

inDate = aValue.replace('-', '.');
inDate = inDate.replace('/', '.');

if (inDate.indexOf('.'))
{
var inDay = Number(inDate.substring(0, inDate.indexOf('.')));
var inMonth = Number(inDate.substring(inDate.indexOf('.') + 1, inDate.lastIndexOf('.')));
var inYear = Number(inDate.substring(inDate.lastIndexOf('.') + 1, inDate.length));

if (inDay > 0 && inDay < 32 && inMonth > 0 && inMonth < 13 && inYear > 0)
result = new Date(inYear, inMonth - 1, inDay);
else
result = new Date();
}

return(result);
}

function firstZero(aValue)
{

if (('' + aValue).length == 1)
{
return('0' + aValue);
}
return(aValue);
}


function tie(aEdit)
{
if (aEdit.value == '' && aEdit.disabled == false)
{
hideCalendar();

var s = '', now = new Date();

s = firstZero(now.getDate().toString()) + '.';
s += firstZero((now.getMonth() + 1).toString()) + '.';
s += now.getFullYear();

aEdit.value = s;
}
}

´o_O`

Martin1994 - 31
Fortgeschrittener (offline)

Dabei seit 03.2009
93 Beiträge

Geschrieben am: 19.06.2009 um 20:27 Uhr

vllt brauchst du ein addone für ff, damit js funkt.

Für Rechtschreibfehler haftet die Tastatur!

solid- - 35
Halbprofi (offline)

Dabei seit 01.2008
371 Beiträge

Geschrieben am: 19.06.2009 um 20:42 Uhr

Zitat von Martin1994:

vllt brauchst du ein addone für ff, damit js funkt.

Das ist mir schon Bewusst ^^ Und ja ich denke mein FF ist in der Lage js wiederzugeben.
Trotzdem Danke

´o_O`

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -