Ich habe diese Funktion gemacht und brauche Hilfe beim Aussortieren des Logikflusses. Es funktioniert ... bis zu einem gewissen Grad und braucht nur Hilfe, um die Fehler auszusortieren.jQuery Hilfe mit meiner Logik in meiner Funktion zum Erkennen von Checkbox-Klicks
Mein HTML:
<span style="float: left;"><input type="checkbox" id="top" name="position" value="top" /> Top </span>
<span style="float: left;"><input type="checkbox" id="bottom" name="position" value="bottom" /> Bottom </span>
<span style="float: left;"><input type="checkbox" id="left" name="position" value="left" /> Left </span>
<span style="float: left;"><input type="checkbox" id="center" name="position" value="center" /> Center </span>
<span style="float: left;"><input type="checkbox" id="right" name="position" value="right" /> Right</span>
Und hier ist meine jQuery-Funktion:
/// Bind Position value to 'CSS : BackgroundPosition' ///
var $positions;
function bgpos(){
var pos = $positions.map(function() {
if($('#top').attr('checked') == true)
$('#bottom').attr('disabled', true);
else
$('#bottom').attr('disabled', false);
if($('#bottom').attr('checked') == true)
$('#top').attr('disabled', true);
else
$('#top').attr('disabled', false);
if($('#left').attr('checked') == true){
$('#right').attr('disabled', true);
$('#center').attr('disabled', true);
}else{
$('#right').attr('disabled', false);
$('#center').attr('disabled', false);
}
if($('#right').attr('checked') == true){
$('#left').attr('disabled', true);
$('#center').attr('disabled', true);
}else{
$('#left').attr('disabled', false);
$('#center').attr('disabled', false);
}
if(this.checked) return this.id;
}).get().join(' ');
//$('#queue').html(pos);
$('#topHeader').css({'backgroundPosition' : pos});
}
$(function() {
$positions = $("form#frm_look_and_feel input[name='position']").change(bgpos);
});
Und hier ist mein jsFiddle wenn jemand interessiert:
http://jsfiddle.net/s2xi/nWT5J/2/
Ein Problem, das ich habe, ist, dass, wenn Sie auf "Top" klicken, deaktiviert es nicht "Bottom", aber wenn ich auf "Bottom" klicken deaktiviert "Top" und das gleiche Problem auftritt, wenn ich auf "Links" klicke, Mein 'Center' wird nicht deaktiviert, aber wenn Sie auf 'Right' klicken, werden 'Left' und 'Center' deaktiviert.
O.O Manchmal fühle ich mich wie ein Neuling mit JavaScript, wenn Sie kommen und etwas Neues lehren! Vielen Dank für Ihre Hilfe Nick – Eli
@ s2xi - willkommen :) –
hmmm, vielleicht könnte das Radio funktionieren. Ich habe untersucht, wie der Benutzer erkennen kann, welche Optionen verfügbar sind, um das Hintergrundbild zu positionieren, ohne von all diesen Optionen verwirrt zu werden. – Eli