На прошлой неделе у меня был очень полезный ответ о том, как создать этот скрипт, который отлично работает, за исключением одной небольшой проблемы. Проще всего объяснить с помощью визуальной помощи http://avalon.eaw.com/#finisheschange backgroundPosition на основе текущего backgroundPosition
Это свойство использует свойство backgroundPosition для изменения цвета. единственная проблема заключается в том, что опции «звуковой сигнал» жестко закодированы таким образом, что если вы в настоящее время просматриваете динамик, у которого есть белая кабина с цветным рогом и хотите изменить шкаф на черный, он также меняет рожок на черный. в настоящее время нет возможности просматривать черную кабину с цветным рогом.
Чтобы исправить это, мне нужно сделать условное заявление, но я не уверен, как заставить его работать. что-то вроде
function colorChange() {
// Use xposition and yposition which are changed by JS function above
$("#target").css('background-position', xposition+'px '+yposition+'px');
if$("#target").css('background-position') == {x:-754}
updatePositions({x:-377});
if$("#target").css('background-position') == {x:-377}
updatePositions({x:-754});
}
////// EDIT /////// модератор просто удалил последующие меры по этой проблеме я писал в порядке, чтобы попытаться помочь найти ответ. спасибо за подавление любой возможной помощи модератора mr! Я все больше расстраиваюсь этим форумом. во всяком случае, я поставил его ниже, надеясь, что кто-то поможет найти решение.
хорошо у меня есть ответ, который НЕ работает, но, надеюсь, он поможет кому-то найти тот, который работает. после того, как делать еще некоторое чтение на Jquery стенографии я попытался сделать отдельную функцию только для шкафа-пиано образчика:
function colorChangePiano() {
var bp = $("background-position").css;
$("#target").css("background-position", (bp = {x:-1131}) ? "{x:-377}" : "{x:0}");
}
я знаю, что есть что-то не так с самим синтаксисом, но большая проблема в том, что он не впросак к функция, которая управляет остальной части образчики:
// variable outside of function() scope
var xposition,
yposition;
// Update values of xposition and or yposition
function updatePositions(axes) {
// Check to see which axis was passed in x, y or both, then update values
if (typeof(axes.x) !== 'undefined') xposition = axes.x;
if (typeof(axes.y) !== 'undefined') yposition = axes.y;
//Call function to actually move BG image
colorChange();
}
// Function move BG image, using variables declared above
function colorChange() {
// Use xposition and yposition which are changed by JS function above
$("#target").css('background-position', xposition+'px '+yposition+'px');
}
ради того, чтобы быть до конца, вот несколько примеров HTML вызовов:
<a href="#" onclick="updatePositions({x:-1131})"><img src="/images/cabinets/swatches/swatch-siren.jpg" /><p>siren</p></a>
<a href="#machine" onclick="updatePositions({y:-999})"><img src="/images/cabinets/swatches/swatch-machine.jpg" /><p>machine</p>
<a href="#" onclick="updatePositions({x:-754})"><img src="/images/cabinets/swatches/swatch-polar.jpg" /><p>polar</p></a></a>
<a href="#" onclick="updatePositions({x:0})"><img src="/images/cabinets/swatches/swatch-piano.jpg" /><p>piano</p></a>
этот сайт должен пойти сегодня вечером, и я начинаю немного волноваться. есть ли у кого-нибудь какое-либо понимание?
Кто-нибудь там? –
Я думаю, что некоторые из нас читают это и волнуются. Похоже, что в коде есть избыток для результата, который он должен доставить. Если я нахожу что-то непонятное, кроме надежды, я обычно переписываю его. Вот что я вам рекомендую. Повторите код, чтобы его легче было понять и работать, поскольку появляются будущие изменения.Извините, но это лучший ответ, который я могу дать. – kevin628
lol наилучшим образом спасибо для отвечать хотя бы. Я все еще удивлен, что нет простого способа проверить положение фона и обновить ось на основе этого. –