Добавление пути изображения к фильтру в CSS с помощью JavaScript - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть следующие параметры для масштабирования фона моего сайта в Internet Explorer:

#background{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/background1.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/background1.jpg', sizingMethod='scale')";}

Это прекрасно работает, но мне нужно изменить путь к изображению на переменную из javascript, из массива с несколькими фонами. С помощью большого числа я выбираю фон каждый раз, когда сайт загружается.

Для этого я делаю:

#background{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<script>document.write(background[rn]);</script>', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<script>document.write(background[rn]);</script>', sizingMethod='scale')";}

Но это не работает. Масштабирование больше не работает.

Почему? Что с этим не так? Как бы ты заставил это работать?

Большое спасибо

Ответы [ 2 ]

1 голос
/ 01 сентября 2011

Это работает?:

<script>
document.write("<style type=\"text/css\">\n#background{filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + background[rn] + "', sizingMethod='scale' \n-ms-filter: \"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + background[rn] + "', sizingMethod='scale')\";}\n</style>");
</script>

В вашем примере вы пытались вставить тег сценария в кавычки, это невозможно, так как это будет интерпретировано как строка, а не сценарий.

0 голосов
/ 17 октября 2012

Для всех, кто сталкивается с этой проблемой, вы не можете динамически изменять этот атрибут, когда он применяется к тегу body.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...