点击不同颜色选项(星际黑、鎏光金)时 a) 商品属性中选中当前颜色选项,其余选项恢复正常 b) 清空页面左侧产品图片列表,并加载jSon数据中对应颜色的所有产品图片 c) 左侧上方大图默认显示第一张产品图片
时间: 2024-04-09 19:27:57 浏览: 101
要实现你描述的功能,你可以使用JavaScript来操作DOM并加载JSON数据。以下是一个示例代码:
HTML部分:
```html
<div id="color-options">
<label>
<input type="radio" name="color" value="星际黑" checked> 星际黑
</label>
<label>
<input type="radio" name="color" value="鎏光金"> 鎏光金
</label>
</div>
<div id="product-images">
<img src="image1.jpg" alt="产品图片1">
<img src="image2.jpg" alt="产品图片2">
<img src="image3.jpg" alt="产品图片3">
</div>
<div id="selected-image">
<img src="image1.jpg" alt="产品图片1">
</div>
```
JavaScript部分:
```javascript
// 获取颜色选项和产品图片容器
var colorOptions = document.getElementById('color-options');
var productImages = document.getElementById('product-images');
var selectedImage = document.getElementById('selected-image');
// 监听颜色选项的变化
colorOptions.addEventListener('change', function(event) {
var selectedColor = event.target.value;
// 更新颜色选项的状态
updateColorOptions(selectedColor);
// 清空产品图片列表
productImages.innerHTML = '';
// 加载对应颜色的产品图片
loadProductImages(selectedColor);
});
// 更新颜色选项的状态
function updateColorOptions(selectedColor) {
var options = colorOptions.getElementsByTagName('input');
for (var i = 0; i < options.length; i++) {
if (options[i].value === selectedColor) {
options[i].checked = true;
} else {
options[i].checked = false;
}
}
}
// 加载对应颜色的产品图片
function loadProductImages(color) {
// 模拟从JSON数据中获取对应颜色的产品图片URL列表
var jsonURL = 'products.json'; // 假设这是你的JSON数据URL
// 使用XMLHttpRequest或fetch从JSON数据URL中获取数据
// 这里使用fetch作为示例
fetch(jsonURL)
.then(function(response) {
return response.json();
})
.then(function(data) {
var productImages = data[color];
// 更新左侧产品图片列表
for (var i = 0; i < productImages.length; i++) {
var img = document.createElement('img');
img.src = productImages[i];
img.alt = '产品图片' + (i + 1);
productImages.appendChild(img);
}
// 更新左侧上方大图显示第一张产品图片
selectedImage.src = productImages[0];
})
.catch(function(error) {
console.log('加载产品图片失败:', error);
});
}
// 页面加载时默认加载“星际黑”对应的产品图片
loadProductImages('星际黑');
```
请注意,上述代码仅作为示例,你需要根据实际情况进行适当的修改和调整。另外,你需要创建一个包含各种颜色对应的产品图片URL列表的JSON数据文件,并替换代码中的`products.json`文件路径。
阅读全文