Все примеры, которые я видел, используют "getElementById" для получения одного элемента, а затем изменяют этот стиль для этого единственного элемента.
Я нахожусь в ситуации, когда мне нужно изменить все соответствующие элементы на странице с помощью стиля. Мне нужно изменить размер, высоту и ширину шрифта. Как мне это сделать, и является ли jQuery обязательным или необязательным? Причина, по которой я спрашиваю, заключается в том, что этот сайт не использует jQuery, и я не хотел бы загружать всю библиотеку только для выполнения этой единственной задачи.
Обновить В качестве примера предположим, что у меня есть несколько элементов на странице с этим стилем:
.outerContact
{
border: 0px;
margin: 7px;
float: left;
padding: 0px;
background: url(/TLSADMIN/UserControls/contactsgrid/trans-shadow.png) no-repeat bottom right; /* Most major browsers other than IE supports transparent shadow. Newer release of IE should be able to support that. */
}
.contactLarge{
height: 163px;
width: 250px;
border: 1px solid #ccc;
border-top: 1px solid #ddd;
font-family: Cambria, Cochin, Georgia, Times, "Times New Roman", serif;
font-size:small;
margin: -5px 5px 5px -5px; /* Offset the image by certain pixels to reveal the shadow, as the shadows are 6 pixels wide, offset it by that amount to get a perfect shadow */
/* Most major browsers other than IE supports transparent shadow. Newer release of IE should be able to support that. */
background-image: url('/TLSADMIN/UserControls/contactsgrid/OutlookContactGradient.png') ;
background-repeat:repeat-x;
background-position: bottom;
padding: 0px; /* Increasing this gives a white border around the image */
background-color: #f2f6f9; /* Background color of the border created by the padding */
border: 1px solid #cecece; /* A 1 pixel greyish border is applied to the white border created by the padding */
display: block; /* IE won't do well without this */
position: relative; /* Make the shadow's position relative to its image */
}
А затем предположим, что у меня есть функция JavaScript, которая будет пропорционально изменять размер элементов выше в соответствии с полосой ползунка. Ползунок, который я использую, доступен у стороннего производителя здесь: http://aspnetajax.componentart.com/control-specific/slider/features/custom_Scrollbar/WebForm1.aspx
Затем этот ползунок будет передавать число, которое я буду использовать, чтобы определить, насколько увеличить/уменьшить масштаб:
function ResizeWindowAccordingToScrollBar(PercentChange)
{
//Locate elements
//Resize fonts, borders, all styles to zoom in/ zoom out.
}
Как вы рекомендуете обращаться со значением «PercentChange»? Я могу поменять стиль CSS для каждого соответствующего элемента с помощью оператора switch, но это может быть не так гладко, как другие варианты.
ОБНОВЛЕНИЕ 2
Кроме того, если кто-то хочет взглянуть на мой код, вот здесь есть автономный образец: http://www.perfmon.com/download/StackOverflow_ContactsGrid.zip
Если вы загружаете элементы управления ComponentArt, не стесняйтесь раскомментировать код полосы прокрутки.
Моя цель - напрямую эмулировать функцию масштабирования, доступную в Outlook 2007.
outerContact
элементов?contactLarge
элементов? другие элементы? - person Richard JP Le Guen   schedule 12.08.2010